1 votes

Chemins de recherche des fichiers d'objets partagés (so)

Quelle est la séquence des chemins recherchés pour le chargement d'un fichier d'objets partagés ?

J'essaie d'exécuter un exécutable qui tente de charger un fichier d'objets partagés. Le fichier d'objets partagés se trouve à l'adresse suivante /usr/lib/x86_64-linux-gnu/ .

J'ai deux utilisateurs, appelons-les user1 y user2 . user1 peut exécuter l'exécutable mais user2 rencontre l'erreur : cannot open the shared object file : libicuuc.so

Les deux utilisateurs ont le même LD_LIBRARY_PATH . Qu'est-ce que le mising ?

1voto

Gombai Sándor Points 3990

man ldconfig peut vous aider

/etc/ld.so.cache    File  containing an ordered list of libraries found
                    in the directories specified in /etc/ld.so.conf, as
                    well as those found in /lib and /usr/lib.

mais votre distributeur peut contenir d'autres informations que les miennes, vous devriez donc lire le vôtre.

Une autre façon de décider quelles bibliothèques sont liées à votre exécutable est d'utiliser l'option ldd programme Un exemple :

ldd /bin/echo
        linux-vdso.so.1 =>  (0x00007ffc2277a000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003edc200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003edbe00000)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X