[LUGOS-PROG] linkanje knjižnic

Miha Tomšič miha.tomsic at guest.arnes.si
Fri Dec 28 15:08:31 CET 2001


	Hojla!

On Wed, 26 Dec 2001, Metod Kozelj wrote:
> Izgleda, kot da je v libSDL.so zapisana kaksna cudna pot do knjiznice
> libX11.so. Daj, poglej, kja izpise 'strings /usr/lib/libSDL.so' ...
> predvsem si poglej, ce je kje videti kaksen cuden direktorij (najbrz bo
> blizu omembe 'libX11.so.6' ali cesa podobnega). Morda so imeli knjiznice
> X11 et co. na kaksnem cudnem mestu, ko so delali knjiznico libSDL.so.

V strings je samo en "čuden" direktorij, ki ga recimo nimam. 
...
/usr/X11R6/lib/X11/Metro/.version
...

ampak to nima veze s knjižnicami (ali pač?). Vse knjižnice so navedene
brez poti:
...
libesd.so.0
libaudiofile.so.0
libX11.so.6
libXext.so.6
libggi.so.2
...

ampak samo X11 in Xext ne najde. To se ne dogaja smao pri SDL, ampak tudi
pri drugih knjižnicah. Recimo libtk*.so. Pa libgtk. Zanimivo je, da je
večina GNU programja tako zvitega, da pri pisanju Makefiletov uporabijo
kar `gtk-config --libs`, ki zgleda takole:
-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl
-lXi -lXext -lX11 -lm

To je potrebno predvsem za statično linkanje. Tudi brez vseh teh -l* 
linker pametno vključi vse knjižnice razen tistih, ki domujejo v
/uer/X11R6/lib.

Zdaj sem prišel do tega, da se vedno zaplete pri avtomatičnem vključevanju
knjižnic iz direktorija /usr/X11R6/lib. Če niso podane eksplicitno, jih
ld(1) sam ne najde. Zdaj še preverjam, če zna avtomatično vključiti samo
tiste knjižnice, ki se nahajajo v direktorijih, ki jih linker že sam po
sebi preiskuje in jih ni treba naknadno dodajati (/lib, /usr/lib in
/usr/local/lib se mi zdi). Zaenkrat vse tako kaže. Kje pa je to možno
nastaviti?

Lahko še kakšen uporabnik Debiana (uporabljam woody) potrdi takšno
obnašanje?

Saj mi je žal, da vas morim s temi problemi, ampak se mi zdi pomembno, da 
linkanje deluje pravilno. 

	Miha...

 - Miha Tomšič --- C. na postajo 55 -- SI-1351 Brezovica pri Lj. --- SLOVENIA -





More information about the lugos-prog mailing list