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

Shell et commandes GNU Discussion :

Problème avec commande make install


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Points : 73
    Points
    73
    Par défaut Problème avec commande make install
    salut,

    je travaille sous ubuntu 10.10
    j'ai deux fichier serial.h et serial.c
    je veux installer serial qui est sous cette arborescence /home/test/modem

    je test cette commande :root@ubuntu:/home/test/modem/serial# make

    et j'ai comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cc   -g    -c -o src/serial.o src/serial.c
    mkdir -p priv/bin
    mkdir -p priv/bin
    cc -o priv/bin/serial  src/serial.o 
    mkdir -p ebin
    erlc -o ebin src/serial.erl
    erlc -o ebin src/slip.erl
    src/slip.erl:54: Warning: list/1 obsolete
    src/slip.erl:57: Warning: atom/1 obsolete
    erlc -o ebin src/terminal.erl
    :



    elle m'a générer un fichier serial.o et elle a créer deux dossier ebin et priv

    sous priv elle crée un dossier bin contient le fichier exécutable serial

    maintenant je veux installer serial

    j'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    root@ubuntu:/home/test/modem/serial/priv/bin# make install serial
    make: *** No rule to make target `install'.  Stop.

    merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Points : 73
    Points
    73
    Par défaut
    et quand j'essaye avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    root@ubuntu:/home/test/modem/serial# make install 
    erlc -o ebin src/serial.erl
    erlc -o ebin src/terminal.erl
    Set DESTDIR before running the install target.
    make: *** [install] Error 1

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 849
    Points
    5 849
    Par défaut
    Bonjour.

    Question bête: y a-t-il un fichier README ?

    Y a-t-il des fichiers dont le nom se termine par '.in' (auquel cas, il faut peut-être faire un 'make configure' au préalable)?

    Sinon quelle est la liste des fichiers du répertoire?

    Que contient le fichier 'makefile'?

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Points : 73
    Points
    73
    Par défaut
    merci pour la réponse

    merci pour votre réponse,

    en fait le dossier que j'ai eu contient un fichier Makefile

    le contenu de ce fichier est :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    VSN = 1.1
    INSTALL_DIR=serial-$(VSN)
    FULL_INSTALL_DIR=$(DESTDIR)/erlang/lib/$(INSTALL_DIR)
     
    WARNING_OPTIONS =
    LANGUAGE_OPTIONS = 
    COMPILER_OPTIONS = -g 
     
    CFLAGS   = $(WARNING_OPTIONS) $(LANGUAGE_OPTIONS) $(COMPILER_OPTIONS)
     
    ######################################################################
     
    HEADER_FILES = src/serial.h
    SOURCE_FILES = src/serial.c
     
    OBJECT_FILES = $(SOURCE_FILES:.c=.o)
     
    ######################################################################
     
    ERL_FILES = $(wildcard src/*.erl)
    BEAM_FILES = $(patsubst src/%.erl, ebin/%.beam, $(ERL_FILES))
     
    ######################################################################
     
    all: priv/bin/serial $(BEAM_FILES)
     
    install: all
    	@[ -n "$(DESTDIR)" ] || (echo "Set DESTDIR before running the install target."; false)
    	install -d $(FULL_INSTALL_DIR)/ebin
    	install -d $(FULL_INSTALL_DIR)/priv/bin
    	install -d $(FULL_INSTALL_DIR)/src
    	install -m 644 ebin/* $(FULL_INSTALL_DIR)/ebin
    	install -m 755 priv/bin/* $(FULL_INSTALL_DIR)/priv/bin
    	install -m 644 src/* $(FULL_INSTALL_DIR)/src
     
    ebin/%.beam: src/%.erl ebin
    	erlc -o ebin $<
     
    ebin:
    	mkdir -p ebin
     
    priv/bin:
    	mkdir -p priv/bin
     
    priv/bin/serial: $(OBJECT_FILES) priv/bin
    	mkdir -p priv/bin
    	$(CC) -o $@ $(LDFLAGS) $(OBJECT_FILES) $(LDLIBS)
     
    clean:
    	rm -f priv/bin/serial $(OBJECT_FILES) $(BEAM_FILES)
     
    serial.o: serial.c serial.h
     
    echo-version:
    	@echo $(VSN)

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 849
    Points
    5 849
    Par défaut
    La 2ème ligne du 'Makefile' FULL_INSTALL_DIR=$(DESTDIR)/erlang/lib/$(INSTALL_DIR) positionne la variable 'FULL_INSTALL_DIR' à partir de la valeur de la variable 'DESTDIR'.

    Si cette variable n'est pas positionnée, la cible 'install' provoque l'erreur que tu vois.

    Il faut donc que tu positionnes cette variable avant de lancer l'installation, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    export DESTDIR=/usr/local/bin
    make install
    De cette manière, il va tout installer dans un répertoire /usr/local/bin/erlang/lib/serial-1.1 (si cela te convient et si tu as les droits).

Discussions similaires

  1. Problème avec commande system(MacOs x)
    Par clampin dans le forum C
    Réponses: 3
    Dernier message: 12/09/2007, 16h06
  2. Probléme avec commande service
    Par rach20032 dans le forum Réseau
    Réponses: 10
    Dernier message: 11/07/2007, 13h03
  3. Cyrus-IMAP: problème avec le make
    Par Zelltemplar dans le forum Mandriva / Mageia
    Réponses: 6
    Dernier message: 11/04/2007, 09h18
  4. Problème avec wine pour installer matlab
    Par Ph.denis dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 26/11/2006, 17h15
  5. Problème avec visual studio installer
    Par logs77 dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 26/09/2006, 15h46

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