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

Systèmes de compilation Discussion :

[Makefile] GCC sous Linux : /usr/bin/ld: cannot find -lsocket


Sujet :

Systèmes de compilation

  1. #1
    Membre régulier
    Homme Profil pro
    Chercheur (Physique)
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur (Physique)

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 80
    Points
    80
    Par défaut [Makefile] GCC sous Linux : /usr/bin/ld: cannot find -lsocket
    Bonjour,

    Voilà, j'ai un programme en C qui tourne correctement et que je compile avec gcc sous Solaris 10. Mais lorsque j'essaie de le compiler sous Linux (Mandriva 2006), toujours avec gcc , ça ne marche pas :

    [-----@localhost model]$ make
    gcc -o galaxy.out neutr.o Bfield.o coord_convert.o evol_rk4.o nrutil.o odeint.o rkqs.o rkck.o grid.o save.o -lm -lsocket -lnsl -lrpcsvc
    /usr/bin/ld: cannot find -lsocket
    collect2: ld returned 1 exit status
    make: *** [heat.out] Erreur 1
    J'obtiens le même message avec Cygwin sous Win98.

    Je crois savoir que Solaris est fourni avec la version 3.4.2 de gcc et Mandriva 2006 avec la 4.0.1. Est-ce que cela peut expliquer le message d'erreur ?

    Sinon, j'ai essayé d'enlever lsocket du Makefile (je ne sais pas à quoi ça sert), mais j'ai droit à des "undefined reference" dans des parties du programme que je n'ai écrite. Je n'ai pas non plus écrit le Makefile (et je ne sais pas très bien comment ça marche) :
    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
    CC=gcc
    CFLAGS= -O6 -Wall
    #CFLAGS=-Dsun
    # -DNO_INTERACTION
     
    #LDFLAGS= -L/usr/local/lib -lm -lrecipes_c
    LDFLAGS=
    LIBS=-lm -lsocket -lnsl -lrpcsvc
     
     
    #### CFLAGS options #####
    #-Dsun
    # If GCC complains about "implicit declarations" etc.  
    # include option -Dsun to CFLAG's. 
    #CFLAGS=-O -Wall -Dsun
    # I did not write it, because I think Sun's GCC should include it automatically.
    #
    #-DNO_INTERACTION
    # turns off interaction. Only for debugging purposes.
    #
    #-DIGNORE_ZERO_MODES
    # if this flag is absent, program will be aborted when INVERT,SVDCMP or LUDCMP
    # try divide by the very small number. 
    # CC=/usr/local/gnu/bin/gcc
     
    ####
     
    P_OBJS=neutr.o Bfield.o coord_convert.o evol_rk4.o nrutil.o odeint.o rkqs.o rkck.o grid.o save.o
     
    heat.out: $(P_OBJS) 
    	  $(CC) $(LDFLAGS) -o galaxy.out $(P_OBJS) $(LIBS)
    Y-a-t-il un problème dedans ? Est-il possible de le modifier pour que ça compile sous Linux ?

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Chercheur (Physique)
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur (Physique)

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 80
    Points
    80
    Par défaut
    solution trouvée :

    il y avait des fflush(stdout) inutiles et lsocket n'était pas requise pour le programme. j'ai viré le tout et nettoyé le code, et ça compile sans pb sous linux et cygwin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. /usr/bin/ld: cannot find -lXext
    Par yvesall dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 05/11/2011, 13h01
  2. Ubuntu 8.10 : Message /usr/bin/ld:cannot find -IGL
    Par comtois dans le forum Ubuntu
    Réponses: 7
    Dernier message: 11/04/2009, 19h31
  3. Slony et pgbench /usr/bin/ld: cannot find -lpgport
    Par lolotte35 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 06/10/2008, 10h05
  4. /usr/bin/ld: cannot find -lX11
    Par Michaël dans le forum Administration système
    Réponses: 6
    Dernier message: 10/03/2008, 16h13
  5. /usr/bin/ld: cannot find -lGLU
    Par Instant dans le forum Linux
    Réponses: 1
    Dernier message: 30/04/2006, 16h14

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