IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Fortran et modules


Sujet :

Fortran

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 18
    Points : 37
    Points
    37
    Par défaut Fortran et modules
    Bonsoir la communauté !

    Je suis tombé sur un os. J'ai téléchargé le programme SHTOOLS à cette adresse. Il sert à faire de la physique des champs potentiels si vous voulez tout savoir .

    Pour tout ce qui suit, j'utilise la dernière version d'ubuntu (téléchargée ce soir même !) montée sur une machine virtuelle VirtualBox.

    Sur le site que je vous ai indiqué, il y a toute la marche à suivre pour "installer" et utiliser cet outil. Et pour l'essayer sans n'avoir rien à faire, il y a un dossier "examples" dans lequel on trouve un certains nombre de codes qui marche tout seul (tout est prêt, il n'y a qu'à les lancer) pour bien vérifier qu'on a tout fait comme il fallait précédemment. Là où le bât blesse, c'est que je n'arrive pas à faire tout comme il faut.

    Selon les instructions, il faut lancer le Makefile qui va compiler toutes les subroutines présentes dans le dossier source (src). Ce même dossier contient SHTOOLS.f95, qui n'est autre qu'un grand module qui établit la liste de toutes les subroutines.

    Les fichiers .o attendus apparaissent bien à la fin, le make aboutissant à un rassurant "MAKE SUCCESSFUL!", et le dossier modules contient bien les quelques fichiers .mod attendus.

    Je veux maintenant faire tourner le script SHMag.f95, contenu dans examples/SHMag/. Le code contient bien un "use SHTOOLS" dès le départ, ça tombe bien on a le .mod dans le dossier modules. Voilà la ligne de commande que je lance alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    export SHTOOLSMODPATH=/home/DonQ/Bureau/SHTOOLS/SHTOOLS/modules
    export SHTOOLSLIBPATH=/home/DonQ/Bureau/SHTOOLS/SHTOOLS/lib
    gfortran -I$SHTOOLSMODPATH -O3 -m64 -fno-underscoring -L$SHTOOLSLIBPATH -lSHTOOLS2.7 -lfftw3 -lm -s SHMag.f95 -o SHMag
    Et voilà ce que le terminal m'affiche :
    SHMag.f95:21.12:

    use SHTOOLS
    1
    Fatal Error: Can't open module file 'shtools.mod' for reading at (1): Aucun fichier ou dossier de ce type
    J'ai tout essayé : passer le terminal en tcsh, changer le /bin/tcsh en /bin/sh dans les Makefiles bidouiller les options à l'appel du "make", bidouiller les options de compilation quand je veux lancer SHMag.f95 ... rien n'y fait. Si quelqu'un peut m'aider, qu'il soit béni lui et sa famille sur 7 générations !

    En attendant, bonne nuit

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Si le fichier est bien dans le répertoire /home/DonQ/Bureau/SHTOOLS/SHTOOLS/modules cela devrait fonctionner.

    Vous pouvez essayer comme cela aussi depuis le repertoire d'example
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gfortran -I../../modules/ -m64 -O3 -L../../lib      .......
    Aussi l’option -fno-underscoring est plutôt a éviter.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 18
    Points : 37
    Points
    37
    Par défaut
    J'ai essayé de faire ce que vous m'avez proposé, ça ne marche toujours pas. Voici ce que m'affiche le terminal :
    /usr/bin/ld: cannot find crt1.o: No such file or directory
    /usr/bin/ld: cannot find crti.o: No such file or directory
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgfortran.so when searching for -lgfortran
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgfortran.a when searching for -lgfortran
    /usr/bin/ld: cannot find -lgfortran
    /usr/bin/ld: cannot find -lm
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: cannot find -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgcc.a when searching for -lgcc
    /usr/bin/ld: cannot find -lgcc
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libquadmath.so when searching for -lquadmath
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libquadmath.a when searching for -lquadmath
    /usr/bin/ld: cannot find -lquadmath
    /usr/bin/ld: cannot find -lm
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: cannot find -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgcc.a when searching for -lgcc
    /usr/bin/ld: cannot find -lgcc
    /usr/bin/ld: cannot find -lc
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: cannot find -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgcc.a when searching for -lgcc
    /usr/bin/ld: cannot find -lgcc
    /usr/bin/ld: cannot find crtn.o: No such file or directory
    collect2: ld a retourné 1 code d'état d'exécution
    J'ai ensuite tout recommencé en lançant le Makefile puis en compilant l'exemple sans l'option "-m64" (en 32 bits donc). Voici l'erreur qui s'affiche dans le terminal :
    /tmp/ccVvNy6M.o: In function `MAIN__':
    SHMag.f95: (.text+0x1e2): undefined reference to `shread_'
    SHMag.f95: (.text+0xbb6): undefined reference to `makemaggrid2d_'
    collect2: ld a retourné 1 code d'état d'exécution
    C'est déprimant

  4. #4
    Membre habitué Avatar de Grame
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    Au vu des messages d'erreur
    usr/bin/ld: cannot find crt1.o: No such file or directory
    /usr/bin/ld: cannot find crti.o: No such file or directory
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgfortran.so when searching for -lgfortran
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6.1/libgfortran.a when searching for -lgfortran
    /usr/bin/ld: cannot find -lgfortran
    j'ai l'impression qu'il y a un problème dans ton installation de gfortran.

    Peux-tu compiler et exécuter un petit programme du type "Hello World" ?

Discussions similaires

  1. usage de module avec fortran
    Par saida29 dans le forum Fortran
    Réponses: 2
    Dernier message: 05/06/2013, 18h15
  2. Réponses: 2
    Dernier message: 28/07/2010, 11h05
  3. Modules fortran et debugger
    Par Bénarès77 dans le forum Fortran
    Réponses: 3
    Dernier message: 23/11/2009, 18h27
  4. Réponses: 6
    Dernier message: 01/07/2008, 14h39
  5. Réponses: 2
    Dernier message: 25/04/2007, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo