Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/12/2005, à 15:34

Manulmalin

Probleme avec make Erreurs

Salut a tous

J'ai un probleme avec make :

manu@ubuntu:~/Desktop/wire-1.0.2$ sudo make
Making all in wire
make[1]: entrant dans le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c client.c
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c commands.c
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c main.c
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c utility.c
utility.c: In function ‘wr_text_convert’:
utility.c:83: attention : passing argument 2 of ‘iconv’ from incompatible pointer type
utility.c:83: attention : comparaison entre un pointeur et un entier
rm -f wire
gcc -g -O2 -I/usr/local/include -L/usr/local/lib -o wire client.o commands.o main.o utility.o -lm -lcrypto -lssl -ltermcap -lreadline
cp wire ../run/
cp: ne peut créer le fichier régulier `../run/wire': Aucun fichier ou répertoire de ce type
make[1]: *** [wire] Erreur 1
make[1]: quittant le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
make: *** [all-recursive] Erreur 2

Le ./configure s'était pourtant bien passé enfin je pense hmm :

manu@ubuntu:~/Desktop/wire-1.0.2$ sudo ./configure
Password:
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking whether gcc needs -traditional... no
checking whether to enable warnings... no
checking for mv... mv
checking for cp... cp
checking for rm... rm
checking for mkdir... mkdir
checking for chmod... chmod
checking for tar... tar
checking for sed... sed
checking for cut... cut
checking for find... find
checking for xargs... xargs
checking for openssl... openssl
checking for pow... no
checking for main in -lm... yes
checking for setsockopt... yes
checking for gethostent... yes
checking for inet_aton... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking openssl/sha.h usability... yes
checking openssl/sha.h presence... yes
checking for openssl/sha.h... yes
checking for main in -lcrypto... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking for main in -lssl... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for main in -liconv... no
checking for iconv... yes
checking if iconv understands Unicode... yes
checking term.h usability... yes
checking term.h presence... yes
checking for term.h... yes
checking for tgoto... no
checking for tgoto in -ltermcap... yes
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking for main in -lreadline... yes
checking for rl_completion_matches... yes
checking for ANSI C header files... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking whether time.h and sys/time.h may both be included... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking termcap.h usability... yes
checking termcap.h presence... yes
checking for termcap.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking return type of signal handlers... void
checking for size_t... yes
checking whether optreset is declared... no
checking whether closedir returns void... no
checking for _LARGEFILE_SOURCE value needed for large files... 1
checking for fseeko... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for sys/time.h... (cached) yes
checking for unistd.h... (cached) yes
checking for alarm... yes
checking for working mktime... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether stat accepts an empty string... no
checking for strftime... yes
checking for working strtod... yes
checking for vprintf... yes
checking for _doprnt... no
checking for gethostbyname... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for memset... yes
checking for mkdir... yes
checking for realpath... yes
checking for regcomp... yes
checking for select... yes
checking for socket... yes
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strchr... yes
checking for strlcat... no
checking for strlcpy... no
checking for strdup... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strrchr... yes
checking for strsep... yes
checking for strtol... yes
checking for strtoul... yes
checking for strtoull... yes
checking for uname... yes
checking for vasprintf... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating wire/Makefile
config.status: creating config.h

Je sais plus quoi faire sad

Merci pour votre aide

#2 Le 11/12/2005, à 15:46

Sylvinho

Re : Probleme avec make Erreurs

Je ne suis pas un grand spécialiste du make, mais la première chose à faire serait de corriger les erreurs à la ligne 83 dans utility.c.

Si ce n'est pas toi qui a écrit le programme : quelle est ta version de gcc ?

Dernière modification par Sylvinho (Le 11/12/2005, à 15:48)

Hors ligne

#3 Le 11/12/2005, à 15:51

Manulmalin

Re : Probleme avec make Erreurs

salut j'éssaie d'installer wire-1.0.2

http://www.zankasoftware.com/wired/wire/

Ma version de gcc:4.0.1-3

Je suis sous breezy 5.10

Kernel 2.6.12-9-386

Hors ligne

#4 Le 11/12/2005, à 16:03

Manulmalin

Re : Probleme avec make Erreurs

le make est passé , bizarre :

manu@ubuntu:~/Desktop/wire-1.0.2$ sudo make
Making all in wire
make[1]: entrant dans le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c client.c
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c commands.c
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c main.c
gcc -DHAVE_CONFIG_H -I.. -I.  -g -O2 -I/usr/local/include -c utility.c
utility.c: In function ‘wr_text_convert’:
utility.c:83: attention : passing argument 2 of ‘iconv’ from incompatible pointer type
utility.c:83: attention : comparaison entre un pointeur et un entier
rm -f wire
gcc -g -O2 -I/usr/local/include -L/usr/local/lib -o wire client.o commands.o main.o utility.o -lm -lcrypto -lssl -ltermcap -lreadline
cp wire ../run/
cp: ne peut créer le fichier régulier `../run/wire': Aucun fichier ou répertoire de ce type
make[1]: *** [wire] Erreur 1
make[1]: quittant le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
make: *** [all-recursive] Erreur 2
manu@ubuntu:~/Desktop/wire-1.0.2$ sudo make
Password:
Making all in wire
make[1]: entrant dans le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
make[1]: Rien à faire pour « all ».
make[1]: quittant le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
manu@ubuntu:~/Desktop/wire-1.0.2$

Et c'est au make install que ca coince sad

manu@ubuntu:~/Desktop/wire-1.0.2$ make install
Making all in wire
make[1]: entrant dans le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
make[1]: Rien à faire pour « all ».
make[1]: quittant le répertoire « /home/manu/Desktop/wire-1.0.2/wire »
/usr/bin/install -c -m 644 man/wire.1 /usr/local/man/man1/
/usr/bin/install: ne peut créer le fichier régulier `/usr/local/man/man1/': est un répertoire
make: *** [install-man] Erreur 1
manu@ubuntu:~/Desktop/wire-1.0.2$

...comprends pas ...   sad

Hors ligne

#5 Le 11/12/2005, à 16:16

dawar

Re : Probleme avec make Erreurs

Heuu juste pour info, sudo ne sert a rien lors du make, qui n'a pas besoin des droits superutilisateur. Je compile toujours sans sudo sans aucun problème, sudo est utile juste pour le make install qui va souvent dans des repertoires système.


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadoks)

Hors ligne

#6 Le 11/12/2005, à 16:21

Manulmalin

Re : Probleme avec make Erreurs

Ok merci pour l'info smile

Hors ligne

#7 Le 11/12/2005, à 16:23

Manulmalin

Re : Probleme avec make Erreurs

Et pour mon petit soucis ??

Tout doit etre la :

/usr/bin/install -c -m 644 man/wire.1 /usr/local/man/man1/
/usr/bin/install: ne peut créer le fichier régulier `/usr/local/man/man1/': est un répertoire
make: *** [install-man] Erreur 1

A l'aide neutral

Hors ligne

#8 Le 11/12/2005, à 18:31

Manulmalin

Re : Probleme avec make Erreurs

Up ??

Hors ligne

#9 Le 12/12/2005, à 11:45

avr

Re : Probleme avec make Erreurs

Salut,

Je ne te serai pas d'un grand secours, mais si je peux te donner un conseil, c'est d'éviter de balancer une make install (en sudo) si ton make n'est pas passé. En faisant le configure, tu configures (non????) ton Makefile. Avec ton make, tu compiles ton projet, tu crées en particulier les binaires (voire les librairies), c'est-à-dire tes exécutables. Le make install (en root en général) ne fait, en règle générale, que copier les binaires que tu as précédemment créés dans des répertoires spéciaux: par exemple /usr/bin/: dans ce répertoire, tu n'as que des binaires et (en gros) ton shell, quand tu tapes une commande, va regarder en particulier ce répertoire. Le fait de copier des exécutables dedans va permettre à tous les utilisateurs de lancer en ligne de commande un 'wire' (à priori). C'est pour ça, je pense (pour avoir un système stable), qu'il faut faire un peut gaffe avant un make install. Des warnings, ça peut passer (si tu sais ce que tu fais), des erreurs, ça me gène toujours (en plus, ça ne sert à rien: si ton make s'est arrété avec une erreur, il n'a pas créé de binaire(s), donc rien à copier).

Je m'attarde un peu, car j'ai l'impression que tu avances en aveugle, je me trompe? C'est ton post d'hier (16:03) qui me fais dire ça: tu fais 2 make à la suite. Ca ne sert à rien, je t'explique:
Make est un utilitaire créé pour se faciliter la vie, pour de gros projets, ça se ressent. Imagine, tu as 250 fichiers à lier entre eux (i.e. des includes à tout va en C/C++). Tu compiles, ça met 10heures sur ton ordi (pas rare). Puis tu te dis: "tiens! ce fichier n'est pas bien écrit, ça serait + clair si je changeais cette ligne". Que tu ne changes rien au résultat, ou un peu, ou que tu modifie en profondeur la philosophie du code, tu es obligé de recompiler pour prendre en compte tes modif. 2 solutions. Tu es bourrin, et tu te retapes tes 10 heures de compilation (pourquoi pas si tu n'as rien d'autre à faire). Ou tu cherches à être + subtil et tu te dis:"je n'ai besoin de changer que les dépendances (i.e. les fichiers qui dépendent de celui que tu as modifié). Je ne recompile que ça, le reste n'a pas besoin d'être touché!"
C'est là que l'utilitaire make prend toute son importance: il cherche tous les fichiers (qui doivent être compilés en temps normal) qui ont été modifiés depuis la dernière compilation. Ensuite, comme tu as écrit intelligemment ton Makefile (make 'exécute' le Makefile par défaut), il ne compile que les dépendances nécessaires! Si ta modification n'est pas dans un fichier ayant une importance énorme sur ton projet, tu peux gagner un temps énorme en compilation (ça peut ne durer que quelques secondes).

Pourquoi je raconte tout ça? Je ne sais pas si j'ai été clair, mais dans ton post de 16:03, tu fais:
$ make  --> Erreur
$ make  --> Pas d'erreur, donc $ make install.
Mais c'est normal que le deuxième coup il n'y ait pas d'erreur: tu n'as pas touché au(x) source(s), donc pas de modification depuis  la dernière fois, donc rien à faire! Le statut est le même! (Erreur, donc compilation non finie!) Donc ton make install plante.

En conclusion, si tu dois toucher quelque chose, c'est sur l'étape de ton make. N'interprète pas les erreurs de ton make install, ça doit donner n'importe quoi.

(Remarque: si tu veux forcer make à tout recompiler quand même --pour une raison ou pour une autre--, tu fais:
$make clean
$make
Mais ça ne marche que si ton Makefile est correct).

Pour ton souci, je ne suis pas informaticien, je ne sais pas si je vais pouvoir t'aider, mais on va essayer. Analysons ton make:
Tu te trouves dans le répertoire:

make[1]: entrant dans le répertoire « /home/manu/Desktop/wire-1.0.2/wire »

Ca compile des trucs (avec un warning dans ton utility.c, mais des fois les compilateurs analysent mal le code, ça peut être normal).
Puis il essayes de copier (le binaire?) "wire" dans ~/wire-1.0.2/run/:

cp wire ../run/
cp: ne peut créer le fichier régulier `../run/wire': Aucun fichier ou répertoire de ce type

Mais il n'existe pas de répertoire ~/wire-1.0.2/run/ (cp ne peut pas copier un fichier dans un répertoire qui n'existe pas, essaye, tu verras). L'erreur est ici: absence de réperoire run/ dans ~/Desktop/wire-1.0.2/
Maintenant, j'ai une question: c'est toi qui as créé ce projet wire ou tu l'as téléchargé? Dans ce dernier cas, tu as un problème avec les sources, vérifie ta version, les compatibilités, les patchs, etc. Dans tous les cas, dans ton Makefile, tu peux lui indiquer (juste avant la ligne où le cp plante) un truc du style "mkdir ../run/": comme ça, ton répertoire run est créé et tu pourras copier dedans ce que tu veux (en l'occurence le binaire d'exécution). [cette manip' est à réaliser avec précautions, surtout si c'est un projet téléchargé].
Rq: Si tu as téléchargé ce projet, en général, c'est sous forme compressée (tu as fait un tar xvzf blabla.tar.gz, ou un unzip etc.?) Regarde, après cette étape, si tu as un répertoire run/ de créé.

Voilà quelques pistes de recherches, j'espère qu'elles t'aideront et, surtout, que tu as saisi comment fonctionne l'utilitaire make. Tiens nous au courant.

Hors ligne

#10 Le 13/12/2005, à 19:21

Manulmalin

Re : Probleme avec make Erreurs

Merci beaucoup pour toutes ces infos avr smile
J'avais pas saisi le fonctionement de make c'est plus clair maintenant wink
Je pense que c'est un probleme de version j'en éssaie une autre et vous tiens au courant

Hors ligne

#11 Le 14/12/2005, à 11:40

avr

Re : Probleme avec make Erreurs

Manulmalin a écrit :

Merci beaucoup pour toutes ces infos avr smile

Pas de quoi!

J'avais pas saisi le fonctionement de make c'est plus clair maintenant wink

En farfouillant sur le net, j'ai trouvé cette adresse qui est pas mal pour saisir le fonctionnement de make.
à+

Hors ligne