[LUGOS-PROG] Staticno linkanje in Kylix

Metod Kozelj metod.kozelj at lugos.si
Thu Mar 13 08:46:29 CET 2003


Howdy!

Uros Gaber wrote:

> *No problem nastane ko to posnamem na kaksen drug streznik oz. 
> racunalnik. Program potrebuje knjiznico libmidas.so, vse lepo in prav 
> sem si rekel, bom prilozil pa bo vse OK.*
> *Ja, seveda, zal je tako, da mora biti ta knjiznica v kaksnem od 
> sistemskih lib direktorijev - zapisanih v ld.so.conf, iskal sem 
> resitve kako to obiti vendar nic uspesnega.*
> *Ali obstaja kaksna moznost da se to zlinka z executablom ali pa (ze 
> malo off-topic) ce se da prepricat Apache, da bi "dodal" direktorij v 
> PATH?*

Za dinamične knjižnice obstaja ena paralela spremenljivki 'PATH' in 
sicer 'LD_LIBRARY_PATH' (tudi sintaksa naštevanja direktorijev je 
anaka). Ko runtime linker išče knjižnice, jih najprej poišče v 
direktorijih, naštetih v LD_LIBRARY_PATH, nato pa še v bazi s 
sistemskimi knjižnicami (ld.so.conf).

Imaš pa še linktime opcijo, ki ti nadomesti vnos v LD_LIBRARY_PATH: 
'-rpath' ... poglej v man ld(1). S kylixom sicer nimam izkušenj, kadar 
se za linkanje uporablja gcc, lahko takele 'ld specific' opcije podaš 
kot '-Wl,-rpath,/my/foo/dir' - tale opcija gcc-ju se bo transormirala v 
opcijo '-rpath /my/foo/dir' za ld. Je pa po svoje res, da moraš potem 
svojo knjižnico na drugem računalniku res tam, kjer to določiš ob 
prevajanju (direktorij ne more biti relativen, npr. glede na ${HOME}).

-- 
Peace!
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'





More information about the lugos-prog mailing list