[gull] probleme librairies dynamiques
Marc Mongenet
marc.mongenet at gmail.com
Fri Jul 15 15:58:04 CEST 2005
Le 14/07/05, Farid Moussaoui<moussaoui at romandie.com> a écrit :
> Bonsoir,
>
> Un ami m'a envoye un executable qui requiert des librairies dynamiques
> (shared) qui sont sur la machine et dont le chemin est inclu dans
> LD_LIBRARY_PATH
>
> Je ne sais pas comment la personne a compile son code mais un ldd
> de l'executable donne
> >:~/acis2flite> ldd acis2flite
> linux-gate.so.1 => (0xffffe000)
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/libkernel.so => not found
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/libconstrct.so => not found
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/libintersct.so => not found
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/libfaceter.so => not found
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/liblawutil.so => not found
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/libbaseutil.so => not found
> /home/cgandrey/Soft/ACIS8.0/lib/linux_so/libpart.so => not found
> libg++-libc6.2-2.so.3 => /usr/lib/libg++-libc6.2-2.so.3 (0x4001a000)
> libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3
> (0x40066000)
> libm.so.6 => /lib/tls/libm.so.6 (0x400c6000)
> libc.so.6 => /lib/tls/libc.so.6 (0x400e8000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>
> Comme indique, les libraires *.so sont toutes dans LD_LIBRARY_PATH.
>
> Comment faire en sorte que l'executable trouve les librairies dynamiques?
>
> A savoir que "cgandrey" est le login de la personne qui m'a envoye l'executable.
>
> Merci.
Les noms des bibliothèques manquantes ont un chemin absolu.
Il semble donc logique que LD_LIBRARY_PATH ne soit pas utilisé.
Un 'man ld.so' n'indique rien à propos des chemins absolus, en
revanche 'man dlopen' (ou le HOWTO donné par Daniel) indiquent
que si on donne un chemin absolu à dlopen() alors les divers
chemins ne sont pas recherchés. Logiquement ld.so fonctionne
comme (voire avec) dlopen().
Pour résoudre le problème... demander de nouveaux exécutables.
Créer un répertoire /home/cgandrey/Soft/ACIS8.0/lib/linux_so/
pour y mettre les bibliothèques devrait aussi fonctionner.
Marc Mongenet
More information about the gull
mailing list