Re: dubbio su libreria dinamica non trovato da gnome-shell
On 07/12/2011 10:21, NN_il_Confusionario wrote:
On Wed, Dec 07, 2011 at 10:12:32AM +0100, Davide Prina wrote:
però, da quel che so io, le directory /usr/lib e /lib sono incluse
implicitamente e non devono essere comprese in questi file ed infatti in
postinst di gnome-bluetooth non richiama ldconfig... comunque:
sfortunatamente oggi ho poco tempo e questo problema, pur interssandomi,
mi e` nuovo (anzi, quello che mi interessa mi e` nuovo). Posso dire solo
tre cose
(a) ldconfig ricrea la cache /etc/ld.so.cache e magari in cache ci sono
info che portano al problema;
ho verificato e ho visto che
$ /sbin/ldconfig -p
stampa l'elenco delle librerie, ho visto che ci sono anche librerie
sotto /usr/lib e /lib, che in teoria, da quanto avevo letto, non
dovrebbero esserci...
guardando
$ man 8 ld.so
[...]
ld.so loads the shared libraries needed by a program, prepares the
program to run, and then runs it.
[...]
The necessary shared libraries needed by the program are searched for in
the following order
* Using the environment variable LD_LIBRARY_PATH[...]
* From the cache file /etc/ld.so.cache[...]
* In the default path /lib, and then /usr/lib
[...]
ld.so functionality is only available for executables compiled using
libc version 4.4.3 or greater.
[...]
quindi anche da qui si vede che non dovrebbero esserci librerie nella
chace che sono in /usr/lib e /lib, perché poi sono (dovrebbero essere)
ricercate in automatico.
inoltre
$ man 8 ldconfig
[...]
-n Only process directories specified on the command line. Don't
process the trusted directories (/usr/lib e /lib)
[...]
faccio una prova: prendo tutte le librerie in /usr/lib e /lib usate da
gnome-shell e verifico se ce n'è qualcuna che non è in cache:
$ for i in $(ldd /usr/lib/gnome-shell/libgnome-shell.so | \
grep "/usr/lib/\|/lib/" | cut -f 2 | cut -d ' ' -f 1); do \
if [[ $(/sbin/ldconfig -p | grep $i) == "" ]]; then echo $i; fi done
$
quindi tutte sono presenti!
Allora non ho capito qualcosa :-(
Forse ld.so non va a vedere nelle sotto-directory?
ho provato anche
# apt-get install --reinstall gnome-bluetooth
ma la situazione resta tale
ho aperto un bug report, vediamo cosa dice il DD
(b) infatti se cerchi in rete vedi che qualcuno ha avuto problemi proprio
docuti alla cache, che faceva puntare a una libreria i386 e non faceva
trovare la libreria amd64 che pure era presente sul disco. Domanda:
problemi col supporto multiarch che comincia a arrivare?
(c) in rete si trovano ancge cose interessanti su rpath (probabilmente
non c'entrano per questo caso, ma sono comunque importanti da sapere per
la questione generale della ricerca delle librerie dinamiche)
su questi punti per ora non ho indagato
Ciao
Davide
--
Dizionari: http://linguistico.sourceforge.net/wiki
Motivi per non comprare/usare ms-windows7:
http://windows7sins.org/
Non autorizzo la memorizzazione del mio indirizzo su outlook
Reply to: