Le 21 nov. 08 à 16:15, David Chisnall a écrit :

> On 21 Nov 2008, at 15:10, Fred Morcos wrote:
>
>> [EMAIL PROTECTED] Etoile]$ ldd Build/libSmalltalkKit.so | grep Language
>> 3:   libLanguageKit.so.0 =>
>> /usr/GNUstep/Local/Library/Libraries/libLanguageKit.so.0 (0xb7599000)
>
> Ah, okay, that makes more sense.
>
> It looks like you had an old version of LanguageKit installed, which
> missed these three classes (I only added them last week - sorry, I
> should have spotted that sooner).  Because there was an installed
> version, it found this first and linked against it, but because it was
> old it didn't have all of the required symbols, so linking failed.
>
>> i already use "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/Build make" for
>> building...
>
> In future, try this instead:
>
> LD_LIBRARY_PATH=`pwd`/Build:$LD_LIBRARY_PATH make
>
> This will (should/might) make it look for the new version in
> preference to the old version.
>
> Quentin: Is it possible to get etoile.make to do this automatically?

Sure we can modify etoile.make to do this. However I just want to be  
sure it's the right fix. By reading ld man page and looking at how  
other projects handle that, I got the feeling -rpath-link was the  
right way to do it. I now doubt it.

Won't LD_LIBRARY_PATH uses in this way harcode the library path from  
Build directory at link time unlike -rpath-link, at least on some  
platforms?

If anybody knows some clear and detailed explanations on the topic,  
I'd be interested to read them. The only serious documentation I  
recently found is: http://people.redhat.com/drepper/dsohowto.pdf
I haven't read it yet though.

Quentin.
_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à