This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

new library handling in binutils causes trouble with --enable-shared


the new build system in binutils sets up custom LD_LIBRARY_PATHs which can 
cause conflicts between the build and host.  if you take 
binutils-2.17.50.0.17 and build/install it with --enable-shared, your host 
binutils will all be linked against libbfd-2.17.50.0.17.20070615.so:

$ readelf -d `which as` | grep NEEDED.*2.17
 0x0000000000000001 (NEEDED)             Shared library: 
[libopcodes-2.17.50.0.17.20070615.so]
 0x0000000000000001 (NEEDED)             Shared library: 
[libbfd-2.17.50.0.17.20070615.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

but if you turn and and try to build it again, the LD_LIBRARY_PATH will be set 
to your local build directories:
LD_LIBRARY_PATH=.../build/bfd/.libs:.../build/opcodes/.libs:....

and this makes your installed `as` very angry, especially when cross-compiling 
as the local libraries are not targetting the same thing as your host 
libraries.

about the only use i can think of for these LD_LIBRARY_PATHs is when you go to 
run `make check`, so perhaps the setting of this variable should be 
restricted to that case ?
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]