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

Re: error while loading shared libraries: libmandb-2.9.4.so



Bonsoir, avec debian11, pour comparaison taille et droits

root@keewi:~# ls -al /usr/lib/man-db/libmandb*
-rw-r--r-- 1 root root 30712 19 févr.  2021 /usr/lib/man-db/libmandb-2.9.4.so lrwxrwxrwx 1 root root    17 19 févr.  2021 /usr/lib/man-db/libmandb.so -> libmandb-2.9.4.so


Le 06/09/2021 à 18:20, BERTRAND Joël a écrit :
	Bonsoir à tous,

	Depuis quelque temps, j'ai l'erreur suivante en appelant man :

Root hilbert:[/usr/lib] > man top
man: error while loading shared libraries: libmandb-2.9.4.so: cannot
open shared object file: Permission denied

	Pourtant, toutes les bibliothèques semblent être là :

Root hilbert:[/usr/lib] > ldd /usr/bin/man
         linux-vdso.so.1 (0x00007ffd118f2000)
         libmandb-2.9.4.so => /usr/lib/man-db/libmandb-2.9.4.so
(0x00007fc5f3453000)
         libman-2.9.4.so => /usr/lib/man-db/libman-2.9.4.so
(0x00007fc5f3410000)
         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc5f3399000)
         libpipeline.so.1 => /usr/lib/x86_64-linux-gnu/libpipeline.so.1
(0x00007fc5f3388000)
         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc5f31c3000)
         libgdbm.so.6 => /usr/lib/x86_64-linux-gnu/libgdbm.so.6
(0x00007fc5f31b0000)
         libseccomp.so.2 => /usr/lib/x86_64-linux-gnu/libseccomp.so.2
(0x00007fc5f318b000)
         /lib64/ld-linux-x86-64.so.2 (0x00007fc5f347b000)
Root hilbert:[/usr/lib] >

	J'ai réinstallé man-db sans obtenir de meilleur résultat.

	Les droits me semblent corrects :

Root hilbert:[/usr/lib/man-db] > ls -al
total 420
drwxr-xr-x   2 root root   1024  6 sept. 18:03 .
drwxr-xr-x 141 root root  11264  6 sept. 15:48 ..
-rwxr-xr-x   1 root root  23232 19 févr.  2021 globbing
-rw-r--r--   1 root root 271168 19 févr.  2021 libman-2.9.4.so
-rw-r--r--   1 root root  30712 19 févr.  2021 libmandb-2.9.4.so
lrwxrwxrwx   1 root root     17 19 févr.  2021 libmandb.so ->
libmandb-2.9.4.so
lrwxrwxrwx   1 root root     15 19 févr.  2021 libman.so -> libman-2.9.4.so
lrwxrwxrwx   1 root root     13 19 févr.  2021 man -> ../../bin/man
-rwxr-xr-x   1 root root  23392 19 févr.  2021 manconv
lrwxrwxrwx   1 root root     15 19 févr.  2021 mandb -> ../../bin/mandb
-rwxr-xr-x   1 root root  56096 19 févr.  2021 zsoelim

et il s'agit bien d'une bibliothèque partagée :
Root hilbert:[/usr/lib/man-db] > file libmandb-2.9.4.so
libmandb-2.9.4.so: ELF 64-bit LSB shared object, x86-64, version 1
(SYSV), dynamically linked,
BuildID[sha1]=c20b1c94193b241e4e17834335605b9d68db1632, stripped

	Si j'essaie de lancer man dans strace, je m'aperçois que le loader
cherche libmandb partout sauf dans /usr/lib/man-db :

Root hilbert:[/usr/lib/man-db] > strace man top 2>&1 | grep libmandb
openat(AT_FDCWD, "/usr/lib/man-db/tls/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/tls/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/tls/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/tls/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/man-db/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD,
"/lib/x86_64-linux-gnu/tls/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD,
"/lib/x86_64-linux-gnu/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD,
"/usr/lib/x86_64-linux-gnu/tls/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD,
"/usr/lib/x86_64-linux-gnu/tls/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD,
"/usr/lib/x86_64-linux-gnu/tls/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD,
"/usr/lib/x86_64-linux-gnu/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/tls/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/tls/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/tls/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/tls/libmandb-2.9.4.so", O_RDONLY|O_CLOEXEC) = -1
ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/lib/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/lib/haswell/libmandb-2.9.4.so", O_RDONLY|O_CLOEXEC) =
-1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/lib/x86_64/libmandb-2.9.4.so", O_RDONLY|O_CLOEXEC) =
-1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/lib/libmandb-2.9.4.so", O_RDONLY|O_CLOEXEC) = -1
EACCES (Permission non accordée)
openat(AT_FDCWD, "/usr/lib/tls/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/tls/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/tls/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/tls/libmandb-2.9.4.so", O_RDONLY|O_CLOEXEC) =
-1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/usr/lib/haswell/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/usr/lib/haswell/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/usr/lib/x86_64/libmandb-2.9.4.so",
O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission non accordée)
openat(AT_FDCWD, "/usr/lib/libmandb-2.9.4.so", O_RDONLY|O_CLOEXEC) = -1
EACCES (Permission non accordée)
writev(2, [{iov_base="man", iov_len=3}, {iov_base=": ", iov_len=2},
{iov_base="error while loading shared libra"..., iov_len=36},
{iov_base=": ", iov_len=2}, {iov_base="libmandb-2.9.4.so", iov_len=17},
{iov_base=": ", iov_len=2}, {iov_base="cannot open shared object file",
iov_len=30}, {iov_base=": ", iov_len=2}, {iov_base="Permission denied",
iov_len=17}, {iov_base="\n", iov_len=1}], 10man: error while loading
shared libraries: libmandb-2.9.4.so: cannot open shared object file:
Permission denied
Root hilbert:[/usr/lib/man-db] >

	Je suis bête, je force le chargement de la bibliothèque :

Root hilbert:[/usr/lib/man-db] >
LD_PRELOAD=/usr/lib/man-db/libmandb-2.9.4.so man top
ERROR: ld.so: object '/usr/lib/man-db/libmandb-2.9.4.so' from LD_PRELOAD
cannot be preloaded (cannot open shared object file): ignored.
man: error while loading shared libraries: libmandb-2.9.4.so: cannot
open shared object file: Permission denied

	Et là, je sèche...

	Je ne vois pas pourquoi cette bibliothèque n'est pas utilisable et je
suis preneur de toute idée.

	Bien cordialement,

	JKB


Reply to: