Hozzászólások
-
SzerzőBejegyzés
-
Összegezve, beírtad az ld.so.conf-ba egy üres sorba az /usr/local/lib sort, és az ldconfig lefutása után az ‘ldconfig -p’ nem találja meg a libet. Ez érdekes. Már az első válasz (uzsolt) tartalmazta az általánosan működő megoldást, és mégsem megy. Nincs más ötletem. Egyértelműen az ldconfig körül van a probléma.
Hmm, nem biztos, hogy a fordítással van a gond. Lehet akár Ubuntu feature is (pl. ha ki van kapcsolva az ld.so.cache frissítése). Az
# ldconfig -p |grep libpurple
megmondja, hogy az ldconfig látja-e a libet. Ha igen, már csak az a kérdés, hogy mikor frissült a gyorstár:
$ ls -l /etc/ld.so.cache
Hmm, nem biztos, hogy a fordítással van a gond. Lehet akár Ubuntu feature is (pl. ha ki van kapcsolva az ld.so.cache frissítése). Az
# ldconfig -p |grep libpurple
megmondja, hogy az ldconfig látja-e a libet. Ha igen, már csak az a kérdés, hogy mikor frissült a gyorstár:
$ ls -l /etc/ld.so.cache
Egy módon lokalizálni lehet hogy hol a hiba. Ha a
$ LD_LIBRARY_PATH=/usr/local/lib ldd ./elaborate |grep purple
oké, akkor a progi fordításánál van a gond. Ha nem okk, akkor meg az ldconfig-gal.
Egy módon lokalizálni lehet hogy hol a hiba. Ha a
$ LD_LIBRARY_PATH=/usr/local/lib ldd ./elaborate |grep purple
oké, akkor a progi fordításánál van a gond. Ha nem okk, akkor meg az ldconfig-gal.
„Normális ez így?”
Igen.„Azt nem értem, hogy miért nem működik magától, mikor egy csomó másikprogramnak is az /usr/local-ban vannak a libjei, és azok futnak.”
Egy osztott libet (.so) 4 módszerrel lehet használatba venni:
1. dinamikus betöltésel, mint egy fájlt (dlopen, dlclose).
2. Linkeléssel (ld segítségével):
2a. alapértelmezett útvonal alapján
2b. megadott útvonal alapján (LD_LIBRARY_PATH)
2c. „előtöltéssel” (LD_PRELOAD)A mozilla pl. a 2b-t használja, és a firefox nevű fájl egy shell script, ami a firefox-bin fájl megfelelő paraméterezéssel meghívja. Tehát hiába furcsa, tejjesen jól van így.
„Nem lehet hogy én rontottam el valamit?”
Ez esetben nem, mert nem egy módszer használatos.„A forráskódban lehet olyan hibát véteni, ami ezt eredményezi?”
Nem.„Ha az /etc/ld.so.conf-ba beírom, ugyanúgy nem működik. A másikat nem próbáltam, de szerintem ugyanaz a hatás.”
Mi a kimenete ennek:
$ ls -l /usr/lobal/lib/libpurple.*Kell lennie legalább 1 linknek, meg egy .la-nak.
„Normális ez így?”
Igen.„Azt nem értem, hogy miért nem működik magától, mikor egy csomó másikprogramnak is az /usr/local-ban vannak a libjei, és azok futnak.”
Egy osztott libet (.so) 4 módszerrel lehet használatba venni:
1. dinamikus betöltésel, mint egy fájlt (dlopen, dlclose).
2. Linkeléssel (ld segítségével):
2a. alapértelmezett útvonal alapján
2b. megadott útvonal alapján (LD_LIBRARY_PATH)
2c. „előtöltéssel” (LD_PRELOAD)A mozilla pl. a 2b-t használja, és a firefox nevű fájl egy shell script, ami a firefox-bin fájl megfelelő paraméterezéssel meghívja. Tehát hiába furcsa, tejjesen jól van így.
„Nem lehet hogy én rontottam el valamit?”
Ez esetben nem, mert nem egy módszer használatos.„A forráskódban lehet olyan hibát véteni, ami ezt eredményezi?”
Nem.„Ha az /etc/ld.so.conf-ba beírom, ugyanúgy nem működik. A másikat nem próbáltam, de szerintem ugyanaz a hatás.”
Mi a kimenete ennek:
$ ls -l /usr/lobal/lib/libpurple.*Kell lennie legalább 1 linknek, meg egy .la-nak.
„Persze lehet, hogy a „disztró-szabványos” megoldás a tied, de szvsz az enyém is működik, és az mindig működik.”
Hogy én is igazoljam önmagam
, a Linux egyik rettentően nagy hátránya a túl nagy szabadság. Így szabadon anyira átláthatatlanná lehet tenni a konfigolást (ez esetben nem számottevően zavaró), hogy utána egy hibakeresés többszörös idővel jár, mint ha csak egy stílus vagy irányzat alapján van a rendszer konfigolva. Láttam már ilyet sajnos.„Persze lehet, hogy a „disztró-szabványos” megoldás a tied, de szvsz az enyém is működik, és az mindig működik.”
Hogy én is igazoljam önmagam
, a Linux egyik rettentően nagy hátránya a túl nagy szabadság. Így szabadon anyira átláthatatlanná lehet tenni a konfigolást (ez esetben nem számottevően zavaró), hogy utána egy hibakeresés többszörös idővel jár, mint ha csak egy stílus vagy irányzat alapján van a rendszer konfigolva. Láttam már ilyet sajnos.Lehet, de szerintem rossz ötlet az öreg motoros (old school) dolgokat keverni az új hullámmal (new wave). 🙂
A fenti két módszer közül azt erősen ajánlott alkalmazni, ami a rendszer alapértelmezése. -
SzerzőBejegyzés
, a Linux egyik rettentően nagy hátránya a túl nagy szabadság. Így szabadon anyira átláthatatlanná lehet tenni a konfigolást (ez esetben nem számottevően zavaró), hogy utána egy hibakeresés többszörös idővel jár, mint ha csak egy stílus vagy irányzat alapján van a rendszer konfigolva. Láttam már ilyet sajnos.