cURL / Mailing Lists / curl-library / Single Mail

curl-library

Mac OS X 10.4.9 x86 autobuild

From: Yang Tse <yangsita_at_gmail.com>
Date: Tue, 24 Apr 2007 13:50:22 +0200

Another case for the Autobuild Mysteries Dept. :-)

Since April 22 Mac OS X 10.4.9 x86 autobuild seems to have gone wild
with 1841 warnings. On April 21 and before it was giving no warnings
at all.

Nothing has changed in the configure script, and as far as the
configure script output says no AutoTools have been upgraded?

The fact is that the generated libtool line which links libcurl is the same:

/bin/sh ../libtool --tag=CC --mode=link gcc -g -g -W -Wall
-Wwrite-strings -pedantic -Wpointer-arith -Wnested-externs -Winline
-Wmissing-prototypes -Wmissing-declarations -Wundef -Wno-long-long
-Wsign-compare -Wfloat-equal -Wno-format-nonliteral -Wendif-labels
-Wstrict-prototypes -Wdeclaration-after-statement -isystem
/usr/include/openssl -isystem /usr/include -isystem /sw/include
-fvisibility=hidden -version-info 4:0:0 -lssh2 -lssl -lcrypto -lz
-L/usr/lib -L/sw/lib -o libcurl.la -rpath /usr/local/lib file.lo
timeval.lo base64.lo hostip.lo progress.lo formdata.lo cookie.lo
http.lo sendf.lo ftp.lo url.lo dict.lo if2ip.lo speedcheck.lo ldap.lo
ssluse.lo version.lo getenv.lo escape.lo mprintf.lo telnet.lo netrc.lo
getinfo.lo transfer.lo strequal.lo easy.lo security.lo krb4.lo
memdebug.lo http_chunks.lo strtok.lo connect.lo llist.lo hash.lo
multi.lo content_encoding.lo share.lo http_digest.lo md5.lo
http_negotiate.lo http_ntlm.lo inet_pton.lo strtoofft.lo strerror.lo
hostares.lo hostasyn.lo hostip4.lo hostip6.lo hostsyn.lo hostthre.lo
inet_ntop.lo parsedate.lo select.lo gtls.lo sslgen.lo tftp.lo splay.lo
strdup.lo socks.lo ssh.lo nss.lo

But the line libtool generates to actually link the library is different:

The one that worked previous to April 22 was:

gcc -dynamiclib ${wl}-undefined ${wl}dynamic_lookup -o
.libs/libcurl.4.0.0.dylib .libs/file.o .libs/timeval.o .libs/base64.o
.libs/hostip.o .libs/progress.o .libs/formdata.o .libs/cookie.o
.libs/http.o .libs/sendf.o .libs/ftp.o .libs/url.o .libs/dict.o
.libs/if2ip.o .libs/speedcheck.o .libs/ldap.o .libs/ssluse.o
.libs/version.o .libs/getenv.o .libs/escape.o .libs/mprintf.o
.libs/telnet.o .libs/netrc.o .libs/getinfo.o .libs/transfer.o
.libs/strequal.o .libs/easy.o .libs/security.o .libs/krb4.o
.libs/memdebug.o .libs/http_chunks.o .libs/strtok.o .libs/connect.o
.libs/llist.o .libs/hash.o .libs/multi.o .libs/content_encoding.o
.libs/share.o .libs/http_digest.o .libs/md5.o .libs/http_negotiate.o
.libs/http_ntlm.o .libs/inet_pton.o .libs/strtoofft.o .libs/strerror.o
.libs/hostares.o .libs/hostasyn.o .libs/hostip4.o .libs/hostip6.o
.libs/hostsyn.o .libs/hostthre.o .libs/inet_ntop.o .libs/parsedate.o
.libs/select.o .libs/gtls.o .libs/sslgen.o .libs/tftp.o .libs/splay.o
.libs/strdup.o .libs/socks.o .libs/ssh.o .libs/nss.o
/sw/lib/libssh2.dylib -L/sw/lib/system-openssl/lib -L/usr/lib -lssl
-lcrypto -lz -L/sw/lib -install_name /usr/local/lib/libcurl.4.dylib
-Wl,-compatibility_version -Wl,5 -Wl,-current_version -Wl,5.0

The one that is failing since April 22 is:

gcc -dynamiclib ${wl}-undefined ${wl}dynamic_lookup -o
.libs/libcurl.4.0.0.dylib .libs/file.o .libs/timeval.o .libs/base64.o
.libs/hostip.o .libs/progress.o .libs/formdata.o .libs/cookie.o
.libs/http.o .libs/sendf.o .libs/ftp.o .libs/url.o .libs/dict.o
.libs/if2ip.o .libs/speedcheck.o .libs/ldap.o .libs/ssluse.o
.libs/version.o .libs/getenv.o .libs/escape.o .libs/mprintf.o
.libs/telnet.o .libs/netrc.o .libs/getinfo.o .libs/transfer.o
.libs/strequal.o .libs/easy.o .libs/security.o .libs/krb4.o
.libs/memdebug.o .libs/http_chunks.o .libs/strtok.o .libs/connect.o
.libs/llist.o .libs/hash.o .libs/multi.o .libs/content_encoding.o
.libs/share.o .libs/http_digest.o .libs/md5.o .libs/http_negotiate.o
.libs/http_ntlm.o .libs/inet_pton.o .libs/strtoofft.o .libs/strerror.o
.libs/hostares.o .libs/hostasyn.o .libs/hostip4.o .libs/hostip6.o
.libs/hostsyn.o .libs/hostthre.o .libs/inet_ntop.o .libs/parsedate.o
.libs/select.o .libs/gtls.o .libs/sslgen.o .libs/tftp.o .libs/splay.o
.libs/strdup.o .libs/socks.o .libs/ssh.o .libs/nss.o
/sw/lib/libssh2.dylib -L/sw/lib/system-openssl/lib
/sw/lib/libcrypto.dylib -L/usr/lib -lssl -lcrypto -lz -L/sw/lib
-install_name /usr/local/lib/libcurl.4.dylib
-Wl,-compatibility_version -Wl,5 -Wl,-current_version -Wl,5.0

The only difference between them is the inclusion of
/sw/lib/libcrypto.dylib in the one that gives 1841 warnings.

Pre April 22:
-L/sw/lib/system-openssl/lib -L/usr/lib

Post April 22
-L/sw/lib/system-openssl/lib /sw/lib/libcrypto.dylib -L/usr/lib

This is generating multiple times warnings of the following style for
each crypto function/symbol:

/sw/lib/libcrypto.dylib(b_print.o) definition of _BIO_snprintf
/sw/lib/system-openssl/lib/libcrypto.dylib(b_print.o) definition of
_BIO_snprintf

My guess is that if nothing has changed in libcurl and libtool there
might be some environment var which has changed in Daniel Johnson's
Mac OS X 10.4.9 x86 gcc build environment which is triggering the
inclusion of the different crypto libraries.

Cheers

-- 
-=[Yang]=-
Received on 2007-04-24