[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