Probleme de librairie lors d'une execution

Résolu/Fermé
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 - 23 déc. 2007 à 14:19
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 24 déc. 2007 à 12:13
Bonjour,
J'ai un problème d'execution que je ne comprends pas. J'essaye d'executer un programme de fortran 77 (je n'ai que l'executable et non pas le fichier source), il me renvoit un problème de librairie (libg2c.so.0). Voila ce qu'il m'affiche:
"./ferrosimul.exe: error while loading shared libraries: libg2c.so.0: cannot open shared object file: No such file or directory"
J'ai vérifié avec "ldd ", il m'affiche "not found". Il m'affiche:
ldd ferrosimul.exe
linux-gate.so.1 => (0xffffe000)
libg2c.so.0 => not found
libm.so.6 => /lib/libm.so.6 (0x43ddb000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x44161000)
libc.so.6 => /lib/libc.so.6 (0x43c7d000)
/lib/ld-linux.so.2 (0x43c60000)

Il faut se rapeller que je n'ai pas le fichier code (je ne sais pas si c'est important), mais juste le .exe .

Pourtant j'essaye avec un autre executable, cela marche correctement et il n'y a pas de problème de librairie, il trouve bien libg2c.so.0 (toujours avec ldd). Les deux executables sont dans le meme repértoire pourtant.
ldd ferro22.exe
libg2c.so.0 => /usr/lib64/libg2c.so.0 (0x00002aaaaaac8000)
libm.so.6 => /lib64/libm.so.6 (0x0000003f85800000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003f92e00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f85400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f84400000)

J'ai vérifié mes paquetages, j'ai bien compat-libf2c.
Est ce que quelqu'un pourrait me venir en aide?
Je vous remercie.
Milou

PS: Config Fedora 6 *86_64

21 réponses

milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 16:00
J'ai assez tes démarches mais ca ne marche toujours pas quand je veux l'"executer. Voila ce qu'il m'affiche:
-name libg2c.so.0 -ls
find: /tmp/gconfd-root: Permission non accordée

9899786 0 lrwxrwxrwx 1 root root 15 déc 23 13:56 /usr/lib64/libg2c.so.0 -> libg2c.so.0.0.0

find: /usr/libexec/utempter: Permission non accordée
find: /var/tux: Permission non accordée
find: /var/lib/dhcpv6: Permission non accordée
find: /var/lib/nfs/statd: Permission non accordée

.... et tout un tas de fichier avec permission non accordée

Mais tu as raison je crois que c'est un problème de librairie, libg2c.so.0 est bien dans /lib64/mais pas dans /lib/. (j'ai vérifié), j'ai essayé de faire un lien comme expliqué sur un site mais ca ne marche toujours pas: http://dis2001.bo.infn.it/alice/alice-doc/mll-doc/ali-inst/node40.html. Si tu veux y jeter un oeil... mais je ne sais toujours pas pourquoi ca ne marche pas.
Merci
2
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 15:00
la variable LD_LIBRARY_PATH qui définit les répertoires des librairies est-elle la même dans les deux exécutions ?
la deuxième exécution est en 64bits et n'appelle pas les même libs.
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 15:26
A vrai dire je débute et je ne sais pas trop. Comment est ce que je peux savoir?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 15:43
echo $LD_LIBRARY_PATH
il faut trouver libg2c.so.0
find / -name libg2c.so.0 -ls

essayer:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:nom_du répertoire
et exécuter le premier prog.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 16:08
essayer de restreindre la recherche :
find /lib /usr/lib -name libg2c.so.0 -ls

que répond : ll /usr/lib/*g2c*
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 16:12
Il m'affiche rien du tout!

[emile@localhost Desktop]$ find /lib /usr/lib -name libg2c.so.0 -ls
[emile@localhost Desktop]$
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 16:14
J'avais oublié une ligne de commande, mais ca ne change rien pour l'instant....

[emile@localhost Desktop]$ find /lib /usr/lib -name libg2c.so.0 -ls
[emile@localhost Desktop]$ ll /usr/lib/*g2c*
lrwxrwxrwx 1 root root 26 déc 23 15:44 /usr/lib/libg2c.so -> /usr/lib64/libg2c.so.0.0.0
[emile@localhost Desktop]$
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 16:26
et
ls -l /usr/lib64/libg2c.so* /usr/lib/libg2c.so*

le lien me semble faux, plutôt ca:
ln -s /usr/lib64/libg2c.so.0 /usr/lib/libg2c.so.0
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 16:33
J'ai essayé cela , mais l'erreur affiché a changé, il me parle de classe ELF... (?!), voila ce qu'il m'affiche:

[emile@localhost Desktop]$ ls -l /usr/lib64/libg2c.so* /usr/lib/libg2c.so*
lrwxrwxrwx 1 root root 15 déc 23 13:56 /usr/lib64/libg2c.so.0 -> libg2c.so.0.0.0
-rwxr-xr-x 1 root root 120808 aoû 23 2006 /usr/lib64/libg2c.so.0.0.0
lrwxrwxrwx 1 root root 26 déc 23 15:44 /usr/lib/libg2c.so -> /usr/lib64/libg2c.so.0.0.0

[emile@localhost Desktop]$ su
Mot de passe :
[root@localhost Desktop]# ln -s /usr/lib64/libg2c.so.0 /usr/lib/libg2c.so.0
[root@localhost Desktop]# exit
exit
[emile@localhost Desktop]$ ./ferrosimul.exe
./ferrosimul.exe: error while loading shared libraries: libg2c.so.0: wrong ELF class: ELFCLASS64
[emile@localhost Desktop]$
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 17:03
oui, c'est logique, 32bits != 64bits
et find /lib /usr/lib* -name libg2c* -ls
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 17:06
Voila ce qu'il me mets:

[emile@localhost Desktop]$ find /lib /usr/lib* -name libg2c* -ls
23756981 0 lrwxrwxrwx 1 root root 20 déc 23 16:03 /lib/libg2c.so -> /usr/lib/libg2c.so.0
9899906 0 lrwxrwxrwx 1 root root 26 déc 23 15:44 /usr/lib/libg2c.so -> /usr/lib64/libg2c.so.0.0.0
11370609 0 lrwxrwxrwx 1 root root 27 déc 23 16:39 /usr/lib/gcc/x86_64-redhat-linux/3.4.6/32/libg2c.so -> ../../../../libg2c.so.0.0.0
11370608 348 -rw-r--r-- 1 root root 346078 aoû 23 2006 /usr/lib/gcc/x86_64-redhat-linux/3.4.6/32/libg2c.a
11370613 0 lrwxrwxrwx 1 root root 33 déc 23 16:39 /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libg2c.so -> ../../../../lib64/libg2c.so.0.0.0
11370612 568 -rw-r--r-- 1 root root 572476 aoû 23 2006 /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libg2c.a
9899908 0 lrwxrwxrwx 1 root root 22 déc 23 16:30 /usr/lib/libg2c.so.0 -> /usr/lib64/libg2c.so.0
9899873 128 -rwxr-xr-x 1 root root 120808 aoû 23 2006 /usr/lib64/libg2c.so.0.0.0
9899786 0 lrwxrwxrwx 1 root root 15 déc 23 13:56 /usr/lib64/libg2c.so.0 -> libg2c.so.0.0.0
find: /usr/libexec/utempter: Permission non accordée
[emile@localhost Desktop]$

Que faut-il faire maintenant?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 17:13
il doit manquer un package : http://o-info.bioxray.dk/pipermail/o-info/2007-June/008274.html
I confirmed your observation.
"yum provides libg2c" suggests "compat-gcc-34-g77" provides it.
"yum install compat-gcc-34-g77.i386" fixed it
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 17:15
Je vais essayer mais comment installer ce package?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 17:20
yum provides libg2c
pour voir ce qu'il répond et
yum install compat-gcc-34-g77.i386

DESCRIPTION
yum is an interactive, automated update program which can be used for maintaining systems using rpm
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 17:27
Voila la reponse:

[emile@localhost Desktop]$ yum provides libg2c
Loading "installonlyn" plugin
Setting up repositories
Reading repository metadata in from local files
Importing additional filelist information
Error: Caching enabled but no local cache of //var/cache/yum/core/filelists.xml.gz from core
[emile@localhost Desktop]$ yum install compat-gcc-34-g77.i386
Loading "installonlyn" plugin
You need to be root to perform this command.

et g77.i386 c'est pas pour les pentium 4, moi je suis athlon normalement c'est 86-46 nan?
j'ai deja ce package installé: compat-gcc-34-g77.3.4.6-4.*86-64
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 déc. 2007 à 17:35
compat-gcc-34-g77.3.4.6-4.*86-64 ne semble contenir que la version 64bits et pas 32

http://rpmfind.net/linux/rpm2html/search.php?query=%2Fusr%2Fbin%2Ff77
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 17:40
Que dois je faire donc? ca ne marche toujours pas

[emile@localhost Desktop]$ ./ferrosimul.exe
./ferrosimul.exe: error while loading shared libraries: libg2c.so.0: wrong ELF class: ELFCLASS64
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 17:48
le lien dit qu'il n'y a pas de package trouvé
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 18:06
Le lien existe mais lorsque je veux installer le nouveau package .i386, il me dit qu'il est deja installé...... je ne sais pas quoi faire la..
0
milou91 Messages postés 13 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 2
23 déc. 2007 à 18:12
C'est bon j'ai trouvé! ce n'est pas gcc-g77 comme package mais libf2c.i386 c'etait bien une histoire de 32 bit et 64 bit avec les packages!
Je te remercie en tout cas de ton aide apportée.
Milou
0