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

Linux Discussion :

Erreur de compilation d'un fichier Makefile


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Erreur de compilation d'un fichier Makefile
    Bonjour,

    J'essaie tant bien que mal de compiler un fichier Makefile dont voici le début:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    FC=g77               # used FORTRAN-compiler
    FFLAGS=-O3           # used FORTRAN-Compiler flags
    CC=gcc               # used C-compiler
    CFLAGS=-O3           # used C-Compiler flags
    LD=gcc               # used linker
    LFLAGS=-O3           # used linker flags
    LIBS=-L. -L./libf2c -lf2c -lm   # used libraries
     
    #LIBS=-L. -L./home/saitta/phd/docs/feature/code/source/svm_light/libf2c -lf2c -lm
     
    INCLUDE_DIR = -I. -I/home/saitta/jdk1.6.0/include \
    	-I/home/saitta/jdk1.6.0/include/linux
     
    LD2=ld			#HH
     
    #all: svm_learn svm_classify
     
    #=================================================================
    libsvm.so: jsvm.o svm_learn.o svm_classify.o svm_donlp2_c.o \
    	donlp2_c/donlp2.o donlp2_c/dummy.o donlp2_c/donlp2main.o
    	$(LD) -z muldefs -shared jsvm.o svm_learn.o \
    	svm_classify.o svm_donlp2_c.o donlp2_c/donlp2.o \
    	donlp2_c/dummy.o donlp2_c/donlp2main.o libf2c/libf2c.a \
    	-o libsvm.so $(LIBS)
     
    jsvm.o: jsvm.c
    	$(CC) -shared $(INCLUDE_DIR) -c jsvm.c -o jsvm.o
     
    donlp2_c/donlp2main.o : donlp2_c/donlp2main.c
    	$(CC) -c $(CFLAGS) donlp2_c/donlp2main.c -o \
    	donlp2_c/donlp2main.o
    #	$(CC) -c $(CFLAGS) donlp2_c/dummy.c -o donlp2_c/dummy.o
     
    #=================================================================
    J'obtiens le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    gcc                -c -O3            svm_learn.c -o svm_learn.o
    gcc                -c -O3            svm_classify.c -o svm_classify.o
    gcc                -c -O3            svm_donlp2_c.c -o svm_donlp2_c.o
    gcc                -c -O3            donlp2_c/donlp2.c -o donlp2_c/donlp2.o
    gcc                -c -O3            donlp2_c/dummy.c -o donlp2_c/dummy.o
    gcc                -c -O3            donlp2_c/donlp2main.c -o \
    donlp2_c/donlp2main.o
    gcc                -z muldefs -shared jsvm.o svm_learn.o \
    svm_classify.o svm_donlp2_c.o donlp2_c/donlp2.o \
    donlp2_c/dummy.o donlp2_c/donlp2main.o libf2c/libf2c.a \
    -o libsvm.so -L. -L./libf2c -lf2c -lm
    /usr/bin/ld: escamotage incompatible ./libf2c/libf2c.a lors de la recherche de -lf2c
    /usr/bin/ld: ne peut trouver -lf2c
    collect2: ld a retourné 1 code d'état d'exécution
    make: *** [libsvm.so] Erreur 1
    Merci d'avance de votre aide si vous savez d'où provient le problème.

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    j'ai l'impression que tu essaies de linker 2 fois la même librairie qui visiblement n'est pas sur ta machine lol
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  3. #3
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Tu as une ligne en commentaire dans ton Makefile qui contient la définition complète du chemin de ta librairie f2c, c'est bizare.

    As-tu vérifié que, à l'endroit où tu compiles, tu as bien un répertoire qui s'appelle ./libf2c et qui contient un fichier libf2c.so ou libf2c.a ?

    Si oui, il faut ensuite que tu décides si tu veux que ta librairie libsvm.so contienne libf2c.a (dans ce cas il faut virer le $(LIBS) a la fin de ta ligne de compile)
    Si non, il faut virer libf2c/libf2c.a de ta ligne de compile. Dans ce cas ta librairie svm.so aura une dépendance vers libf2c.so.

    Pour des infos sur les librairies dynamiques tu peux faire des recherches avec "dynamic shared object" sous glouglou.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci pour vos réponses, je vais essayer tout ça...

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/10/2010, 17h40
  2. Erreur de compilation dans les fichier d'en-tête
    Par belgariel dans le forum Linux
    Réponses: 5
    Dernier message: 02/03/2010, 10h05
  3. Erreur de compilation C++ avec Makefile
    Par ChipsterJulien dans le forum C++
    Réponses: 2
    Dernier message: 27/08/2007, 18h27
  4. Erreur de compilation sur fichiers systemes
    Par Fabllot dans le forum Visual C++
    Réponses: 2
    Dernier message: 10/02/2007, 01h28
  5. Réponses: 1
    Dernier message: 18/06/2004, 01h12

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