libmandb-2.9.4.so
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
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 22:52:58 |
Calls: | 6,646 |
Calls today: | 1 |
Files: | 12,191 |
Messages: | 5,327,622 |