[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: