Need help compiling gpgme fat

Stéphane Corthésy stephane at sente.ch
Sun Mar 5 18:18:32 CET 2006


Hi,

On Mar 5, 2006, at 17:37 , Marcus Brinkmann wrote:

> At Sat, 4 Mar 2006 19:04:08 +0100,
> Stéphane Corthésy wrote:
>> I'm trying to compile gpgme 1.1.2 on MacOSX, as a fat static library.
>
> Can you enlighten me?  What's a "fat" library?


A library containing code for multiple processor architectures. In my  
case, OSX for intel and ppc.


>> I could compile gpg-error 1.2 as a fat library; I had some troubles,
>> but could solve them: that new version needs now libintl (version 1.0
>> didn't), and the configure script doesn't say anything when it
>> doesn't find it; user notices it only when compiling library.
>
> Well, we need to call bindtextdomain.  It should be easy to add a
> configure check for that, can you submit a patch?  (Alternatively, I
> can send you a patch for testing).


Sorry, I know absolutely nothing about automake, autoconf and these  
tools.
Anyway, I have libintl installed on my machine, so it's no longer a  
problem for me.


>> I applied the same patch to gpgme's libtool, but it seems it is not
>> enough, as I think gpgme is not built/linked the same way as gpg- 
>> error:
>
> gpgme links a shared library from some files and a static library
> (which it built itself).  This requires special support on some
> platforms, and in fact may not be available on all platforms.  libtool
> encapsulates this properly.  You may need to extend libtool to support
> "fat" libraries (whatever they are :)


Hmm, well, too hard for me. I tried tweaking resulting libtool, and  
went further in the build, until stumbling on the fact that 'ar'  
doesn't like adding files with multiple architectures on an existing  
archive; creating a single archive for multiple architectures works  
though. Maybe a limitation of 'ar'.


> The alternative would be to recompile every file for each of the
> thread packages.  This is certainly possible, however, there are other
> packages where this trick is used.  It's quite convenient.
>
> Thanks,
> Marcus


That would do the trick, if libtool was invoked only once for all  
files, like it is the case for libgpg-error. Problem is that I don't  
know where I should patch makefiles.
I'll try to compile gpgme twice, one for each architecture, and then  
'lipo' them. And I'll post the question about GNU libtool on macosx  
mailing lists.

Cheers,

Stéphane




More information about the Gnupg-devel mailing list