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 77] Compilation et installation librairies sous Linux


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut [Fortran 77] Compilation et installation librairies sous Linux
    Bonjour,
    Je veux installer la librairie ranlib.f ( http://www.netlib.org/random/ranlib.f.tar.gz ) sous Linux et être capable de l'utiliser. J'ai la source (plusieurs .f). Je ne sais pas exactement quelle est la procédure pour que ça fonctionne correctement, i.e. être capable de compiler mon programme et d'utiliser cette librairie.

    Je suis capable de compiler et d'exécuter chacun des fichiers test, mais uniquement lorsque je place tous les fichiers de fonctions et sous-routines dans le même dossier que la source du test et que je compile tout ensemble :
    f77 *.f
    et je peux exécuter avec succès
    ./a.out

    J'ai un ordinateur AMD X2 64 sous Fedora 4. J'ai donc /usr/local/lib et /usr/local/lib64. Je ne sais pas ou placer ces fichiers. J'ai essaye dans /usr/local/lib/ranlib.f/. Je compile les sources avec f77 -c *.f pour les deux dossiers (src et linpack). Ensuite j'essaye de compiler le programme test en utilisant la commande :
    f77 tstbot.f -L/usr/local/lib/ranlib.f/src -L/usr/local/lib/ranlib.f/linpack
    et j'obtiens des erreurs (ne trouve pas la librairie)
    /tmp/ccclmayn.o(.text+0x39): In function `MAIN__':
    tstbot.f: undefined reference to `setall_'
    /tmp/ccclmayn.o(.text+0x75):tstbot.f: undefined reference to `setcgn_'
    /tmp/ccclmayn.o(.text+0xd8):tstbot.f: undefined reference to `initgn_'
    /tmp/ccclmayn.o(.text+0xea):tstbot.f: undefined reference to `getsd_'
    /tmp/ccclmayn.o(.text+0x146):tstbot.f: undefined reference to `ignlgi_'
    /tmp/ccclmayn.o(.text+0x165):tstbot.f: undefined reference to `initgn_'
    /tmp/ccclmayn.o(.text+0x17d):tstbot.f: undefined reference to `initgn_'
    /tmp/ccclmayn.o(.text+0x18f):tstbot.f: undefined reference to `getsd_'
    /tmp/ccclmayn.o(.text+0x1eb):tstbot.f: undefined reference to `ignlgi_'
    /tmp/ccclmayn.o(.text+0x2e9):tstbot.f: undefined reference to `initgn_'
    collect2: ld returned 1 exit status
    Merci de votre aide et n'hésitez pas à me poser des questions si je n'ai pas été precis.

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Par défaut
    J'ai vraiment lu ton message en diagonale, je m'en excuse je suis très speed en ce moment. D'après ce que je lis il y a 2 choses à faire :

    1) Placer tes librairies dans le bon répertoire du système, (/usr/libxx) xx=64 si ton architecture est 64bits, ou simplement lib en 32 bits si je ne m'abuse.

    2) Linker les librairies contenant les fonctions ou routines que tu appelles dans ton programme à la compilation. Pour ce faire, si tu as suivis le point 1) compile comme ceci :

    gfortran -c prog.f90 -o prog.x prog.o -lnom_de_ta_librairie

    Le compilo sais par défaut ou trouver les choses (dans /usr/libxx).

    Si tu n'as pas suivis le point 1) il faut fournir l'emplacement des librairies que tu appelles à la compilation, dans ce cas :

    gfortran -c prog.f90 -o prog.x prog.o -L/home/.../chemin vers la lib/ -lnom_de_ta_librairie

    J'espère que ceci pourra résoudre ton problème.

    Bon courage,
    Yann.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut Solution
    f77 -c *.f
    ar cr lib<libname>.a *.o
    cp lib<libname>.a /usr/lib64
    compiler avec
    f77 prog.f -l<libname>

Discussions similaires

  1. [EasyPHP] Installation PHP sous Linux
    Par Tempotpo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 16
    Dernier message: 16/05/2006, 12h39
  2. [install librairie] sous windows -
    Par Mireyu_c dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 21/03/2006, 10h23
  3. Comment installer Xemacs sous linux?
    Par yanncnn dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 19/10/2005, 04h14
  4. installer jbuilder7 sous linux
    Par rtlinfo34 dans le forum JBuilder
    Réponses: 5
    Dernier message: 30/10/2002, 20h16

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