probleme a l'installation de fftw3
l'editeur de lien ne trouve pas la bibliotheque
Packaging

porschecollec Membre non connecté
-
- Voir le profil du membre porschecollec
- Inscrit le : 01/11/2014
- Groupes :
/usr/bin/ld: ne peut trouver -lfftw3
collect2: erreur: ld a retourné 1 code d'état d'exécution
Est-ce une erreur connue du package inclus dans mageia5? faut-il installer fftw3 a partir d'un rpm exterieur?
En attente d'idee de la part des specialistes.
--- jean ---

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Pourrais-tu être plus précis ?
Tu sembles parler d'une installation, mais ensuite de compilation.
Décris mieux les étapes que tu réalises.
Yves

porschecollec Membre non connecté
-
- Voir le profil du membre porschecollec
- Inscrit le : 01/11/2014
- Groupes :
installation: j'ai simplement trouve aisement dans le CCM les packages fftw3 (je pourrais verifier lesquels exactement si necessaire) que j'ai installe comme d'habitude8bouton (Appliquer) a partir du reseau. Rien de special a noter, 10 mn plus tard, je sortais du CCM installation effectuee. Tout a donc ete fait sous le CCM, rien en ligne de commande.
compilation: tout etant installe, j'ai compile comme d'habitude. ma commande est la suivante
gfortran -g declarations.f95 sous_programmes.f95 LossGain.f95 -I /usr/include -L /usr/lib -l pgplot -L /usr/lib -l fftw3 -l X11 -o LossGain
2 modules et un programme principal. l'adresse des include, celle des librairies. puis specifiquement les librairies de pgplot et de fftw3. le second -L a ete ajoute en cours d'essai, au depart il n'etait pas la. j'avais aussi au depart /usr/ lib64, mais comme tout cela tournait sous un autre pc en x86_64 et que celui-ci est un i686, j'ai vire dans un second temps le 64 car bien sur la lob64 n'existe pas.
je vois bien qu'il<n'y a pas de libfftw3.a mais des .so et .so.4, mais normalement je n'ai pas a intervenir et faire moi-meme des liens, d'ailleurs lesquels?
voila, tout est decrit. Qu'en penses-tu?
Cordialement,
-- Jean ---
--- jean ---

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
ln -s libffw".so.4 libffw3.a
Yves

porschecollec Membre non connecté
-
- Voir le profil du membre porschecollec
- Inscrit le : 01/11/2014
- Groupes :
j'ai ajoute le lien exact: ln -s libfftw3.so.3 libfftw3.a
le repertoire /usr/lib contient plein de libfftw3 avec des threads, des version differentes. les fichiers les plus interessants sont libfftw3.so.3 et le meme avec .4.4 (ou qq chose de proche) le premier etant un lien sur le second.
j'ai donc maintenant un double lien, et bien entendu la compilation a fonctionne (j'ai vire le 2 ieme -L /usr/lib qui est inutile) et le programme tourne normalement.
Il reste qu'il faut choisir la bonne librairie (ici libfftw3.so.3) sur laquelle pointer, et il faut faire le lien a la main. Je croyais que le CCM utilisait des rpm et que l'installation en sortie etait complete, d'ou mes hesitations a intervenir sans conseil d'un specialiste. Bizarre qu'il faille faire cela. probleme du CCM ou package incomplet...?
Merci en tout cas de ton avis qui fut le bon.
--- jean ---
--- jean ---

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Content que tu puisses avancer :-)
Il se peut que ce soit ton programme qu'il faille changer.
Dans l'exemple de cette page https://gcc.gnu.org/wiki/GfortranBuild , on voit que dans le fichier source, il est indiqué d'aller chercher certaines librairies dont le nom se termine par .a . Il se peut que ton programme fasse de même, et qu'en changeant le .a en .so, tu n'aies plus besoin du lien.
Yves

Akien Membre non connecté
-
- Voir le profil du membre Akien
- Inscrit le : 12/06/2011
- Groupes :
-
Équipe Mageia
De même, pour que ton -lpgplot -lX11 fonctionne, il te faudra aussi lib64x11-devel.
Si ton système est i586, il te faut bien sûr libfftw-devel et libx11-devel à la place.
Édité par Akien Le 26/01/2017 à 13h26
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie