Eric Lemings wrote:
-----Original Message-----
From: Eric Lemings [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 30, 2008 11:05 AM
To: [email protected]
Subject: RE: ABI problem on Darwin
-----Original Message-----
From: Martin Sebor [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 30, 2008 10:43 AM
To: [email protected]
Subject: Re: ABI problem on Darwin
Eric Lemings wrote:
[...]
1) In a program compiled and linked with 4.2.0 the user
replaces libstd.dylib.4.2.0 with libstd.dylib.4.2.1.
2) In a program compiled and linked with 4.2.1 the user
replaces libstd.dylib.4.2.1 with libstd.dylib.4.2.0.
In both of these, the library is NOT in BUILDDIR/lib but
rather under PREFIX/lib (e.g., /usr/local/lib).
In this situation, the user would have to set the
DYLD_LIBRARY_PATH
as they would have to set LD_LIBRARY_PATH on other Unix platforms.
I assume "this situation" refers to case (2) above. On most
platforms setting LD_LIBRARY_PATH can be avoided by installing
the lib in one of the usual locations that the dynamic linker
searches by default (e.g., /usr/lib or /usr/local/lib). Does
hardcoding BUILDDIR have any impact on this? (I can't tell
from the Mac OS X ld man page: http://tinyurl.com/4grw9o)
I believe it works the same on Darwin: if the library is installed
in a standard location, it will be found without needing to set
DYLD_LIBRARY_PATH or whether it matches @install_name.
I'll verify that to make sure.
Verified. I moved the library with an @install_name of
/var/tmp/stdcxx/build/lib/libstd.dylib.4.2.1 to /usr/local/lib,
made sure DYLD_LIBRARY_PATH had no value, and ran a test. It
worked. I removed /usr/local/lib/libstd.*, tried the test
again and it failed with "image not found".
Okay, so the only ABI problem is with forward compatibility
(i.e., moving an executable linked with 4.2.1 to a system
with 4.2.0 installed). I'm (somewhat reluctantly) leaning
toward letting this slide, given that Darwin is a best
effort platform and that it's unclear when Subversion
will be up again.
If there are no objections by the end of today I'll close
the vote and call -rc-3 good. Mac users that see a problem
with this (and anyone else of course) please speak up ASAP!
Martion