bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incomplete support of Darwin's -isysroot gcc option?


From: Stéphane Corthésy
Subject: Re: Incomplete support of Darwin's -isysroot gcc option?
Date: Tue, 7 Mar 2006 17:56:47 +0100

Hi,

On Mar 6, 2006, at 00:07 , Peter O'Gorman wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stéphane Corthésy wrote:
| Hi,
|
| I think that I found a bug: when trying to compile some third-party
| library (gpgme), with the latest libtool version (1.5.22; I replaced
| gpgme's old libtool with 1.5.22) on MacOSX 10.4, trying to create a
| static universal library (i.e. binary with 2 architectures, i386 and
| ppc), I need to patch libtool to change its (system) library search paths.
|

It sounds like the -isysroot option is missing at link time?

Do you see the option in the libtol command invocation? '/bin/sh ../ libtool
- -isysroot...'


Yes.

$ env CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 - arch ppc -I/usr/local/include" LDFLAGS="-L/usr/local/lib -lintl - framework CoreFoundation" ./configure --disable-shared --disable- dependency-tracking --with-gpg-error-prefix=/usr/local --with-gpg=/ usr/local/bin/gpg --without-pth
make
...
/bin/sh ../../libtool --tag=CC --mode=link gcc -isysroot /Developer/ SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -I/usr/local/include -Wall - Wcast-align -Wshadow -Wstrict-prototypes -L/usr/local/lib -lintl - framework CoreFoundation -o t-encrypt t-encrypt.o ../../gpgme/ libgpgme.la
mkdir .libs
gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -I/ usr/local/include -Wall -Wcast-align -Wshadow -Wstrict-prototypes - framework CoreFoundation -o t-encrypt t-encrypt.o -L/usr/local/ lib ../../gpgme/.libs/libgpgme.a /usr/local/lib/libgpg-error.a /usr/ local/lib/libintl.a /usr/lib/libiconv.dylib -lc
/usr/bin/ld: for architecture i386
/usr/bin/ld: warning /usr/lib/libiconv.dylib cputype (18, architecture ppc) does not match cputype (7) for specified -arch flag: i386 (file not loaded)
/usr/bin/ld: Undefined symbols:
_libiconv
_libiconv_close
_libiconv_open
_libiconv_set_relocation_prefix
collect2: ld returned 1 exit status
/usr/bin/ld: for architecture ppc
/usr/bin/ld: warning multiple definitions of symbol _locale_charset
/usr/local/lib/libintl.a(localcharset.o) definition of _locale_charset in section (__TEXT,__text)
/usr/lib/libiconv.dylib(localcharset.o) definition of _locale_charset
lipo: can't open input file: /var/tmp//ccShi6kz.out (No such file or directory)
make[3]: *** [t-encrypt] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2




What variable did you put the -isysroot option in at configure time? CFLAGS? CXXFLAGS? If the project does not use these variables at link time (automake
does, hand crafter Makefile.in's might not), you also have to put the
- -isysroot -arch stuff into a variable that is used at link time (LDFLAGS?).


isysroot is passed, but not used everywhere it should, I think.

Stéphane


Peter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Darwin)

iQCVAwUBRAtvRriDAg3OZTLPAQLulgQArFQMOuNndjJIUPJiz8eKsLNYedAeUBf3
Wre74emH4zq91urnRt/wZTDxNRTHGQAR+oC8XFcWy3woDP5wWAsxPh1Scdpe3HqA
xOba0BlgCcvnCpUtsaqecPGpdE08sQ3vJUkcBv2K6gY2gUDz4O7ssYXZSzREv6Tu
9dff5KLxs8c=
=0h/c
-----END PGP SIGNATURE-----





reply via email to

[Prev in Thread] Current Thread [Next in Thread]