On 17 Sep 2012, at 06:51, Khem Raj wrote:

> On Sat, Sep 15, 2012 at 4:59 PM, Chris Tapp <[email protected]> wrote:
>> I've got a recipe that uses autotools. It builds ok under Poky, but if I try 
>> to build it on my host (e.g. when developing) then it fails to build with 
>> lots of 'symbol not found' link errors related to libs that are on the 
>> system and which are in the gcc lib search path.
>> 
>> I've finally tracked this down to link order. The final command is of the 
>> form:
>> 
>> g++ -lGL -lcurl -o binary a.o b.o
>> 
>> If I change this to:
>> 
>> g++ -o binary a.o b.o -lGL -lcurl
>> 
>> then it builds ok.
>> 
>> Stranger still is the original form works fine on another system (older 
>> Ubuntu). The ld versions are different (2.21.53 on the one that fails, 
>> 2.20.1 on the one that works).
>> 
>> Can I get autotools to always link the libraries last?
> 
> you did not mention the failing distro but what Ross mentioned could
> be one reason

It's Ubuntu 11.10. I don't think it's using 'gold', but it is on the system. 
I'll look at the default flags to see what's up.

> another reason could be that its using gold as default linker where
> overlinking is not the default as it used to be. The linking behavior
> is correct there you need to fix the application to specify the
> libraries correctly.


Yes, that's exactly what I did once I realised I was using LDFLAGS when I 
should use LDADD.
It was once of these 'coincidentaly-correct' errors that only bites after a 
year or two or working perfectly ;-)

Chris Tapp

[email protected]
www.keylevel.com



_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to