Wikipédia, la GSL et Mandriva
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Wikipédia, la GSL et Mandriva



  1. #1
    Pamputt

    Wikipédia, la GSL et Mandriva


    ------

    Bonjour tout le monde,
    au cours de mes cours de programmation scientifique, j'ai entendu parler d'une bibliothèque scientifique très puissante développé par le projet GNU, la GSL. Je profite de mes vacances pour tester cette librairie et j'utilise donc le petit morceau de code proposé sur l'article de Wikipédia pour commencer (vérifier que j'ai tout bien installé par exemple). J'utilise actuellement Mandriva 2008.1 powerpack avec KDE 3.5.9. Mandriva propose un paquet pour cette librairie libgsl0 et libgsl-devel. Je les ai installé tous les deux.
    J'ai bêtement recopié le code fournit par Wikipédia et lorsque je lance la commande suivante
    * gcc4.3 gsl.cpp -o gsl.out
    j'obtiens les erreurs suivantes :
    /home/utilisateur/tmp/ccApnsMU.o: In function `main':
    gsl.cpp:(.text+0x21): undefined reference to `gsl_sf_bessel_J0'
    /home/utilisateur/tmp/ccApnsMU.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    collect2: ld a retourné 1 code d'état d'exécution
    VOus avez une idée de ce qui ne va pas ?
    Merci d'avance.

    -----

  2. #2
    Towl

    Re : Wikipédia, la GSL et Mandriva

    Alors, voici comment lire l'erreur :
    collect2: ld a retourné 1 code d'état d'exécution
    C'est le message important. La création d'un executable s'effectue en deux étapes : la compilation, effectuée par notre amis GCC, et l'édition de lien, effectuée par notre ami GCC/LD. Cette étape permet d'inclure les fonctions externes, telles que gsl_sf_bessel_J0 qui sont incluses à partir de fichier issue d'une autre compilation (ou de la compilation d'un autre fichier source).

    Donc ici, l'erreur vient du link. Un petit tour sur la page du projet GSL, section linking ( http://www.gnu.org/software/gsl/manu...e-library.html ), nous dit d'ajouter les flags -lgsl ainsi que d'autres qui peuvent etre utiles, comme -lm (pour les maths) et -lgslcblas (pour d'autres, truc flemme d'activer mon anglais à cette heure )

    d'ou la ligne de compilation devient :
    gcc4.3 -lgsl -lm -lgslclas gsl.cpp -o gsl.out
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  3. #3
    Pamputt

    Re : Wikipédia, la GSL et Mandriva

    Merci pour l'explication (c'est très intéressant)
    J'ai donc tapé la commande que tu m'a fournis et une nouvelle erreur est apparue.
    $ gcc4.3 -lgsl -lm -lgslclas gsl.cpp -o gsl.out
    /usr/bin/ld: cannot find -lgslclas
    collect2: ld a retourné 1 code d'état d'exécution
    Je vais encore avoir besoin de vous pour me dire comment faire pour que ld trouve -lgslclas

  4. #4
    Towl

    Re : Wikipédia, la GSL et Mandriva

    Hum il doit te manquer le bon package.
    Essaye de faire une recherche pour trouver celui contenant libgslcblas.a
    (libglsclas.rpm ???)
    Sinon essaye sans cette option
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  5. A voir en vidéo sur Futura
  6. #5
    Flyingsquirrel

    Re : Wikipédia, la GSL et Mandriva

    Salut

    Citation Envoyé par Pamputt Voir le message
    J'ai donc tapé la commande que tu m'a fournis et une nouvelle erreur est apparue.
    $ gcc4.3 -lgsl -lm -lgslclas gsl.cpp -o gsl.out
    Citation Envoyé par Towl Voir le message
    Hum il doit te manquer le bon package.
    Essaye de faire une recherche pour trouver celui contenant libgslcblas.a
    (libglsclas.rpm ???)
    Sinon essaye sans cette option
    Il ne manquerait pas plutôt un "b" dans la ligne de commande ?
    Code:
    $ gcc4.3 -lgsl -lm -lgslcblas gsl.cpp -o gsl.out

  7. #6
    Pamputt

    Re : Wikipédia, la GSL et Mandriva

    En écrivant -lgslcblas, je n'ai lus la même erreur mais une nouvelle:
    *gcc4.3 -lgsl -lm -lgslcblas gsl.cpp -o gsl.out
    /home/user/tmp/ccnKlTXR.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    collect2: ld a retourné 1 code d'état d'exécution
    Vous en pensez quoi ?
    Dernière modification par JPL ; 28/10/2010 à 12h55.

  8. #7
    Towl

    Re : Wikipédia, la GSL et Mandriva

    [quote]
    Il ne manquerait pas plutôt un "b" dans la ligne de commande ?
    [quote]
    Arf, je vais aller me flagéler pour la peine

    En écrivant -lgslcblas, je n'ai lus la même erreur mais une nouvelle:
    *gcc4.3 -lgsl -lm -lgslcblas gsl.cpp -o gsl.out
    /home/user/tmp/ccnKlTXR.o.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    collect2: ld a retourné 1 code d'état d'exécution
    Vous en pensez quoi ?
    Que j'avais pas les yeux en face des trous
    gcc (GNU C Compilator), comme son nom l'indique, est un compilateur C. Or ton fichier comporte l'extension CPP, caractéristique du C++. Donc au choix, soit tu fais tu C et tu renommes ton fichier en .c, soit tu utilises G++ (meme commande)
    Code:
    towl@gritche /home/towl $ gcc -lgsl a.c
    towl@gritche /home/towl $ ./a.out
    J0(5) = -1.775967713143382642e-01
    towl@gritche /home/towl $ mv a.c a.cpp
    towl@gritche /home/towl $ gcc -lgsl a.cpp
    /tmp/ccEyegBn.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
    collect2: ld returned 1 exit status
    towl@gritche /home/towl $ g++ -lgsl a.cpp
    towl@gritche /home/towl $ ./a.out
    J0(5) = -1.775967713143382642e-01
    Dernière modification par JPL ; 28/10/2010 à 12h55.
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  9. #8
    Pamputt

    Re : Wikipédia, la GSL et Mandriva

    Alors là merci beaucoup, le "programme" fonctionne
    Je ne savais pas que l'extension pouvait poser des problèmes. Je croyais que le compilateur s'intéressait uniquement au contenu qui est bien du C. Merci pour l'info. Est ce qu'il faut rajouter [Résolu] dans le titre du message ou un message du même style ?

Discussions similaires

  1. Wikipédia source sure ?
    Par invite4a3514a9 dans le forum Archives
    Réponses: 7
    Dernier message: 04/01/2008, 11h18
  2. Wikipedia : erreur à corriger
    Par invite2d3cec7e dans le forum Chimie
    Réponses: 5
    Dernier message: 14/12/2007, 10h28
  3. Question sur la wikipedia
    Par invite234d9cdb dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 08/04/2006, 22h51
  4. Lecture sur Wikipedia non comprise
    Par Floris dans le forum Physique
    Réponses: 28
    Dernier message: 15/04/2005, 17h22
Découvrez nos comparatifs produits sur l'informatique et les technologies.