curl-library
Why are builds different?
Date: Wed, 20 Nov 2002 16:56:33 -0800
Maybe Daniel or somebody who is more familiar with "configure" and the
intracacies of the complex "make" procedure in curl can help explain
what is happening here. I am building curl (7.10.1) on Mac OS X,
versions 10.1 and 10.2. -- but even if you don't know Mac OS X, it's
stilly UNIXy issue.
I have a backward compatibility problem that I have tracked down to
differences between the binary libcurl.a that is built. My problem is
that if I build libcurl on the more recent 10.2 build of Mac OS X, the
application that it links into fails due to problems linking.
Specifically, these symbols are expected to be found in the Mac's
runtime libraries when I build under 10.2: _getnameinfo, _strtok_r,
_localtime_r, _strlcat, and _gmtime_r.
When I dump out the contents of libcurl.a (using otool -vI), I find
references to those symbols in the 10.2-built file. In libcurl.a built
under 10.1, I either don't find references to those symbols, though I
found a reference to "_Curl_strtok_r"
My guess is that 10.2 identifies itself differently than 10.1 when curl
is configured and make'd, so the code gets compiled differently,
referencing the above symbols when compiled under 10.2 because they are
known to be available, and not referencing them when compiled under
10.1 because they aren't supplied by the OS in that version.
Trouble is, I want to be compatible *at runtime* with the earlier
version of the OS, which means that I really need to build curl as if
those symbols weren't provided for me in the OS, so that I can run
under both 10.1 and 10.2.
Any hints? (Other than just requiring me to build under the older OS
-- that's what I'm trying to get around!)
Dan
-- Dan Wood Karelia Software, LLC dwood_at_karelia.com http://www.karelia.com/ Watson for Mac OS X: http://www.karelia.com/watson/ ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sfReceived on 2002-11-21