[Clfs-support] linker issue? with latest clfs

Doug Reiland dreiland at hotmail.com
Tue Oct 13 07:13:01 PDT 2009


 

I have 2 toolchains. One basically, based in clfs 1.0 and using glibc-2.7 and one based development 1.x using eglibc-2.10

 

I see a difference between these 2 regarding building shared libs.

 

I have a shared library (call it libfoo) that links in another shared library at build time, say libdl or libpopt.

 

Now, I have an application that links with libfoo

 

Using my clfs 1.0/glibc-2.7 toolchain, this works fine

 

Using my clfs 1.x development/eligbc-2.10, the application links get unresolved symbols related to those things in libdl or libpopt that libfoo used.

 

And, looking at the ouput, it looks like the wrong linker is being used so it is pulling in the wrong libdl (for example) library.

 

//lib/libdl.so.2: undefined reference to `_dl_open at GLIBC_PRIVATE'
//lib/libdl.so.2: undefined reference to `_dl_close at GLIBC_PRIVATE'
collect2: ld returned 1 exit status

 

if I add -l<library> to the application makefile for all the libraries libfoo depends on, it will work as before, but this would be alot of work in my source tree.

 

I did a readelf -a on my libfoo.so and there doesn't appear to be a difference between the binary regenerated by either toolchain ( no linker mention and depend libs don't have a pathname or anything )

 

I have attempt to build a clfs 1.x development toolchain and using glibc-2.7 instead of eglibc-2.10 to narrow this to something between 2.7 and 2.10 but I am running into lots of issues regarding glibc-2.7 and updated binutils and gcc.

 

Thoughts?

 		 	   		  
_________________________________________________________________
Hotmail: Free, trusted and rich email service.
http://clk.atdmt.com/GBL/go/171222984/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clfs.org/pipermail/clfs-support-clfs.org/attachments/20091013/2dad4c9e/attachment.html>


More information about the Clfs-support mailing list