Je code une librairie qui a besoin d'acml, comme on me la expliquer sur un autre post après avoir installé acml (le 4.0.1) je met le chemin de la lib dans le /etc/ld.so.conf et je fais un sudo ldconfig.
Coté acml tout va presque bien , je m'explique : j'ai pris la version compilée avec gfortran pour 64bit (...normal..), donc pour ma librairie je link acml et gfortran (-lacml_mp -lgfortran), mais gcc me retourne
/usr/bin/ld: cannot find -lgfortran
lorsque je fait un locate libgfortran j'ai :
~$ locate libgfortran
/var/cache/apt/archives/libgfortran1_4.1.2-16ubuntu2_amd64.deb
/var/cache/apt/archives/libgfortran2_4.2.1-5ubuntu4_amd64.deb
/var/lib/dpkg/info/libgfortran1.list
/var/lib/dpkg/info/libgfortran2.postinst
/var/lib/dpkg/info/libgfortran2.md5sums
/var/lib/dpkg/info/libgfortran1.md5sums
/var/lib/dpkg/info/libgfortran2.list
/var/lib/dpkg/info/libgfortran1.shlibs
/var/lib/dpkg/info/libgfortran2.shlibs
/var/lib/dpkg/info/libgfortran2.postrm
/var/lib/dpkg/info/libgfortran1.postrm
/var/lib/dpkg/info/libgfortran1.postinst
/home/vieurou/.kde/share/apps/RecentDocuments/libgfortran1_4.1.2-16ubuntu2_amd64.deb.desktop
/usr/lib/libgfortran.so.1.0.0
/usr/lib/libgfortran.so.2
/usr/lib/libgfortran.so.2.0.0
/usr/lib/gcc/x86_64-linux-gnu/4.2/libgfortranbegin.a
/usr/lib/gcc/x86_64-linux-gnu/4.2/32/libgfortranbegin.a
/usr/lib/gcc/x86_64-linux-gnu/4.2/32/libgfortran.a
/usr/lib/gcc/x86_64-linux-gnu/4.2/32/libgfortran.so
/usr/lib/gcc/x86_64-linux-gnu/4.2/libgfortran.a
/usr/lib/gcc/x86_64-linux-gnu/4.2/libgfortran.so
/usr/lib/libgfortran.so.1
/usr/share/doc/libgfortran2
/usr/share/doc/libgfortran1
/usr/lib32/libgfortran.so.2
/usr/lib32/libgfortran.so.2.0.0
et mon ld.so.conf : include /etc/ld.so.conf.d/*.conf
/usr/local/lib & /opt/acml4.0.1/gfortran64_mp_int64/lib/
/usr/lib32/
/usr/lib/
si quelqu'un savait me dire pourquoi j'ai ce message d'erreur ,
merci d'avance
# ldconfig -v
Posté par madko (site web personnel) . Évalué à 1.
[^] # Re: ldconfig -v
Posté par eric . Évalué à 1.
~$ sudo ldconfig -v | grep libgfortran
/sbin/ldconfig.real: Ne peut évaluer par stat /usr/local/lib & /opt/acml4.0.1/gfortran64_mp_int64/lib: Aucun fichier ou répertoire de ce type
/sbin/ldconfig.real: Chemin « /usr/lib » donné plus d'une fois
/sbin/ldconfig.real: Chemin « /usr/lib32 » donné plus d'une fois
libgfortran.so.2 -> libgfortran.so.2.0.0
libgfortran.so.2 -> libgfortran.so.2.0.0
libgfortran.so.1 -> libgfortran.so.1.0.0
du coup j'ai modifié ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/lib
/opt/acml4.0.1/gfortran64_mp_int64/lib/
/usr/lib32/
/usr/lib/
~$ sudo ldconfig
~$ sudo ldconfig -v | grep gfortran
/sbin/ldconfig.real: Chemin « /usr/local/lib » donné plus d'une fois
/sbin/ldconfig.real: Chemin « /usr/lib » donné plus d'une fois
/sbin/ldconfig.real: Chemin « /usr/lib32 » donné plus d'une fois
/opt/acml4.0.1/gfortran64_mp_int64/lib:
libgfortran.so.2 -> libgfortran.so.2.0.0
libgfortran.so.2 -> libgfortran.so.2.0.0
libgfortran.so.1 -> libgfortran.so.1.0.0
donc normalement ça devrait être bon ?
[^] # Re: ldconfig -v
Posté par madko (site web personnel) . Évalué à 1.
Mais si tu pose la question c'est que tu as essayé et que ça marche toujours pas?
[^] # Re: ldconfig -v
Posté par eric . Évalué à 1.
g++ -o"testlib" ./Source/testLib.o ./Source/test.o -lgfortran -lacml_mp -lGLEW -lglut
/usr/bin/ld: cannot find -lgfortran
collect2: ld a retourné 1 code d'état d'exécution
make: *** [testlib] Erreur 1
make: La cible « all » n'a pas pu être refabriquée à cause d'erreurs.
que faire ???
[^] # autre precision
Posté par eric . Évalué à 1.
~$ locate gfortran | grep lib | grep .so
/opt/acml3.6.1/gfortran64/lib/libacml.so
/opt/acml3.6.1/gfortran64/lib/libacml_mv.so
/opt/acml3.6.1/gfortran64_mp/lib/libacml_mp.so
/opt/acml3.6.1/gfortran64_mp/lib/libacml_mv.so
/opt/acml4.0.1/gfortran64_int64/lib/libacml.so
/opt/acml4.0.1/gfortran64_int64/lib/libacml_mv.so
/opt/acml4.0.1/gfortran64_mp_int64/lib/libacml_mp.so
/opt/acml4.0.1/gfortran64_mp_int64/lib/libacml_mv.so
/usr/lib/libgfortran.so.1.0.0
/usr/lib/libgfortran.so.2
/usr/lib/libgfortran.so.2.0.0
/usr/lib/gcc/x86_64-linux-gnu/4.2/32/libgfortran.so
/usr/lib/gcc/x86_64-linux-gnu/4.2/libgfortran.so
/usr/lib/libgfortran.so.1
/usr/lib32/libgfortran.so.2
/usr/lib32/libgfortran.so.2.0.0
je sais vraiment pas quoi faire ....
[^] # Re: autre precision
Posté par eric . Évalué à 1.
/usr/lib/gcc/x86_64-linux-gnu/4.2/
à mon /etc/ld.so.conf, j'ai refait un sudo ldconfig.je recompille mais toujours la même erreur...
[^] # Re: autre precision
Posté par eric . Évalué à 1.
merci
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.