OVH Cloud OVH Cloud

[FreeBSD 5.3] erreur au "make buildworld"

22 réponses
Avatar
-- Thomas vO --
bonjour,
voulant mettre ma machine à jour, j'ai téléchargé les nouvelles sources
comme indiqué dans un fil précédant (tag = RELENG_5_3 puis cvsup), puis
j'ai commencé le processus :
make buildworld. et la, au bout d'une heure ou deux de compilation,
l'erreur suivante se produit :

/usr/src/sbin/gbde/gbde.c: In function `main':
/usr/src/sbin/gbde/gbde.c:772: warning: implicit declaration of function
`getopt
'
/usr/src/sbin/gbde/gbde.c:775: error: `optarg' undeclared (first use in
this fun
ction)
/usr/src/sbin/gbde/gbde.c:775: error: (Each undeclared identifier is
reported on
ly once
/usr/src/sbin/gbde/gbde.c:775: error: for each function it appears in.)
*** Error code 1

Stop in /usr/src/sbin/gbde.
*** Error code 1

Stop in /usr/obj/usr/src/rescue/rescue.
*** Error code 1

et tout s'arrête la. est-ce que quelqu'un a une idée du pourquoi du
comment mon monde ne veut pas se refaire ? j'ai vaguement regardé le
fichier gbde.c, mais avec mes notions de C, je vais pas aller bien loin :(
enfin, si vous avez des idées, merci !

--
Thomas vO -- http://www.enstimac.fr/~vanouden/
If a research project is not worth doing at all, it is not worth doing
well.
-- Gordon's Law

10 réponses

1 2 3
Avatar
-- Thomas vO --
Eric Masson wrote:
"Thomas" == vanouden <--> writes:







'Lut,

Thomas> j'ai cherché, j'ai réessayé en tout nettoyant
Thomas> (/var/tmp/temproot, /usr/obj, les 'make cleandir' dans
Thomas> /usr/src, ...) avec un petit cvsup de ce matin, et toujours
Thomas> pareil :

Euh, je commence à sécher :/

Tu n'aurais pas des options zarbes dans /etc/make.conf ?


ça a pas l'air (en tout cas, à part X_WINDOW_SYSTEM, j'ai rien ajouté) :
# -- use.perl generated deltas -- #
# Created: Tue Dec 16 14:42:09 2003
# Setting to use base perl from ports:
PERL_VER=5.6.1
PERL_VERSION=5.6.1
PERL_ARCH=mach
NOPERL=yo
NO_PERL=yo
NO_PERL_WRAPPER=yo

# for X.org #
# cree le 18/10/2004 par thomasvo #
X_WINDOW_SYSTEM=xorg


Tu compiles en -jn ?

si c'est le cas, pourrais-tu relancer la compilation en -DNOCLEAN sans
le -j histoire de déterminer si c'est réellement le gzip de l'infofile
qui fout la zone ?


ok, donc "make -DNOCLEAN buildworld" ? je relance ça ce soir...

PS: je suppose que tu logues complètement le build par redirection ou
script, ce serait plus facile pour un examen détaillé.


non, évidemment, ce serait tellement plus intelligent... ;)

--
Thomas vO -- http://www.enstimac.fr/~vanouden/
"MSDOS didn't get as bad as it is overnight -- it took over ten years
of careful development."
(By )






Avatar
-- Thomas vO --
Eric Masson wrote:
"Thomas" == vanouden <--> writes:







'Lut,

Thomas> j'ai cherché, j'ai réessayé en tout nettoyant
Thomas> (/var/tmp/temproot, /usr/obj, les 'make cleandir' dans
Thomas> /usr/src, ...) avec un petit cvsup de ce matin, et toujours
Thomas> pareil :

Euh, je commence à sécher :/


(le week-end a été réhydratant ? ;) )
bon, nouvelles erreurs (comme au début :( ) avec 'make -DNOCLEAN
builworld' :

/usr/src/sbin/gbde/gbde.c: In function `main':
/usr/src/sbin/gbde/gbde.c:772: warning: implicit declaration of function
`getopt'
/usr/src/sbin/gbde/gbde.c:775: error: `optarg' undeclared (first use in
this function)
/usr/src/sbin/gbde/gbde.c:775: error: (Each undeclared identifier is
reported only once
/usr/src/sbin/gbde/gbde.c:775: error: for each function it appears in.)
*** Error code 1

j'ai donc été voir dans gbde.c, par curiosité, et en effet, 'optarg'
n'est jamais déclaré, alors qu'il est utilisé plusieurs fois... c'est
censé marcher comme ça ?

--
Thomas vO -- http://www.enstimac.fr/~vanouden/
A program generator creates programs that are more ``buggy'' than the
program generator.
-- The Last One's Law of Program Generators






Avatar
Eric Masson
"Thomas" == vanouden <--> writes:






'Lut,

Thomas> (le week-end a été réhydratant ? ;)

Calme et sobre ;)

Thomas> j'ai donc été voir dans gbde.c, par curiosité, et en effet,
Thomas> 'optarg' n'est jamais déclaré, alors qu'il est utilisé
Thomas> plusieurs fois... c'est censé marcher comme ça ?

Inclus via unistd.h

Euh, je commance à me poser des questions sur l'état de tes sources
là...

Tu as bien un /usr/src/include/unistd.h ?
Il contient bien des références à getopt ?

Si c'est le cas, je ne capte plus ce qui se passe...

Eric Masson

--
je pense q'iCQ est peut etre mal vu, aussi car il est un concurrent,
non controlable, des NG. Les pirates peuvent echanger les informations
qu'ils veulent par icq et cela peut deranger.
-+- SP in <http://www.le-gnu.net> : Aïe c'est cuit pour icq -+-





Avatar
-- Thomas vO --
Eric Masson wrote:
"Thomas" == vanouden <--> writes:






Thomas> j'ai donc été voir dans gbde.c, par curiosité, et en effet,
Thomas> 'optarg' n'est jamais déclaré, alors qu'il est utilisé
Thomas> plusieurs fois... c'est censé marcher comme ça ?

Inclus via unistd.h

Euh, je commance à me poser des questions sur l'état de tes sources
là...


ben moi aussi

Tu as bien un /usr/src/include/unistd.h ?
Il contient bien des références à getopt ?


c'est bien ça les références à getopt ? :
#ifndef _GETOPT_DECLARED
#define _GETOPT_DECLARED
int getopt(int, char * const [], const char *);

extern char *optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
#endif /* _GETOPT_DECLARED */

Si c'est le cas, je ne capte plus ce qui se passe...


justement, moi non plus, j'y comprends rien :(
pourtant, à chaque échec, je refais :
rm -fr /usr/obj/*
cd /usr/src/ && make cleandir
cvsup (-g) src-supfile (histoire de vérifier que c'est pas un bug qui a
été corrigé, mais apparemment, ça marche chez d'autres)
et enfin :
make -DNOCLEAN buildworld (> /root/logbuild.log, quand j'y pense ;) )

je me plante pas dans la procédure non plus ? je commence à vraiment
désespérer... ça pourrait pas venir de mon fichier de mise à jour ? :

zola# more /root/cvsup/src-supfile
*default host=cvsup.fr.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_5_3
*default delete use-rel-suffix

src-all

en tout cas, merci Eric (et les autres) pour ton temps...

--
Thomas vO -- http://www.enstimac.fr/~vanouden/
Feel free to contact me (flames about my english and the useless of this
driver will be redirected to /dev/null, oh no, it's full...).
(Michael Beck, describing the PC-speaker sound device)






Avatar
F. Senault

Si c'est le cas, je ne capte plus ce qui se passe...


justement, moi non plus, j'y comprends rien :(
pourtant, à chaque échec, je refais :
rm -fr /usr/obj/*
cd /usr/src/ && make cleandir
cvsup (-g) src-supfile (histoire de vérifier que c'est pas un bug qui a
été corrigé, mais apparemment, ça marche chez d'autres)
et enfin :
make -DNOCLEAN buildworld (> /root/logbuild.log, quand j'y pense ;) )
^^^^^^^^^

Pourquoi noclean ? Justement... Sinon, essaie une fois de supprimer
totalement ton /usr/src (pense à sauvegarder la config de ton noyeau si
elle est là au fond), de refaire un cvsup, et de compiler.

Sinon, as-tu des options particulières dans /etc/make.conf ?

Fred
--
21.1.1 How to convert mSQL tools for MySQL
1. Run the shell script msql2mysql on the source. This requires the
replace program, which is distributed with MySQL.
2. Compile.
3. Fix all compiler errors. (MySQL online manual)


Avatar
Eric Masson
"Thomas" == vanouden <--> writes:






Thomas> c'est bien ça les références à getopt ?

<snip contenu unistd.h>

Oui

Thomas> justement, moi non plus, j'y comprends rien :( pourtant, à
Thomas> chaque échec, je refais :
Thomas> rm -fr /usr/obj/*

Donc, tu nettoies /usr/obj à chaque fois, ce n'est pas plus mal.

Thomas> cd /usr/src/ && make cleandir

pour le nettoyage de /usr/src, il vaut mieux faire :
make cleandir && make cleandir

Thomas> cvsup (-g) src-supfile

Ok

Thomas> et enfin :

Thomas> make -DNOCLEAN buildworld

Euh, c'était juste afin d'éviter de te retaper l'intégralité du build
pour retrouver l'erreur, à partir du moment ou tu nettoyes /usr/obj, le
-DNOCLEAN n'a plus d'objet.

Thomas> je me plante pas dans la procédure non plus ?

Pas l'impression. Je suppose que tu as tout de même lu :
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

Thomas> ça pourrait pas venir de mon fichier de mise à jour ? :
Thomas> host=cvsup.fr.FreeBSD.org

J'utilise soit cvsup5.fr.FreeBSD.org (chez Teaser) ou alors
cvsup.uk.FreeBSD.org suite à quelques problèmes avec cvsup.fr, il y a
quelques années.

Si tu reprends la procédure et que le build foire encore, tu peux
renommer /usr/src en /usr/src.old et refaire un checkout de src tout
neuf sur ta bécane histoire de vérifier si ça se passe mieux.

Eric Masson

--
RECHERCHE DES INGENIEURS DANS Linformatique IMPORTANT !!
Envoyez moi vos cV
-+- in Guide du Neuneu sur Usenet : Linformatique pour les nuls -+-





Avatar
-- Thomas vO --
Eric Masson wrote:
"Thomas" == vanouden <--> writes:






Thomas> cd /usr/src/ && make cleandir

pour le nettoyage de /usr/src, il vaut mieux faire :
make cleandir && make cleandir


ça, c'était pas possible, dès que je nettoyais le répertoire, le make
qui est fait au début de la construction du monde disparaissait et
l'ancien ne reconnaissait pas certaines cibles.

Thomas> ça pourrait pas venir de mon fichier de mise à jour ? :
Thomas> host=cvsup.fr.FreeBSD.org

J'utilise soit cvsup5.fr.FreeBSD.org (chez Teaser) ou alors
cvsup.uk.FreeBSD.org suite à quelques problèmes avec cvsup.fr, il y a
quelques années.


ok, j'ai donc mis /usr/src dans /usr/src.old puis j'ai changé mon
serveur cvsup en cvsup.uk.freebsd.org, et Ô miracle, tout se passe bien
(au buildworld en tout cas). d'où nouvelle question : est-ce que
quelqu'un voit une raison pourquoi les sources sur fr.freebsd sont
(apparemment) pas les mêmes que uk.freebsd ?

en tout cas, merci beaucoup à tous ceux qui m'ont filé un coup de main,
chuck vous le rendra ;)

--
Thomas van Oudenhove
http://www.enstimac.fr/~vanouden/






Avatar
Serge Gagnon
On Mon, 25 Oct 2004, "" == -- Thomas vO -- wrote:
..






ok, j'ai donc mis /usr/src dans /usr/src.old puis j'ai changé mon
serveur cvsup en cvsup.uk.freebsd.org, et Ô miracle, tout se passe
bien (au buildworld en tout cas). d'où nouvelle question : est-ce que
quelqu'un voit une raison pourquoi les sources sur fr.freebsd sont
(apparemment) pas les mêmes que uk.freebsd ?


Il n'y a pas de différence entre les serveurs cvsup mais entre ton src et
src.old. Ça fait ça des fois quand ça fait longtemps qu'on traine ses
sources... ché pas pourquoi. Tente la même expérience avec ton ancien
server cvsup et ça vas fonctionnner.
rm -rf /usr/src
et recvsup avec ton ancien serveur.

Bon, voila

--
Serge Gagnon
Quebec, Qc, Canada





Avatar
talon
-- Thomas vO -- wrote:

J'utilise soit cvsup5.fr.FreeBSD.org (chez Teaser) ou alors
cvsup.uk.FreeBSD.org suite à quelques problèmes avec cvsup.fr, il y a
quelques années.




ftp.fr.freebsd.org est en tout cas à l'université d'Angers et a des
débits absolument énormes sur le net. J'ai fait venir la dernière
image iso de freebsd en quelques minutes à Jussieu, le débit était
presque à 100 Mbits/s. Sauf erreur cvsup.fr est la même machine donc tu
peux difficilement trouver plus rapide.



--

Michel TALON


Avatar
Francois Petillon
On Mon, 25 Oct 2004 20:07:40 +0000, Michel Talon wrote:
ftp.fr.freebsd.org est en tout cas à l'université d'Angers


grmpf

Sauf erreur cvsup.fr est la même machine


Non, pour le coup, cvsup.fr.freebsd.org correspond bien au serveur ftp
de l'université d'Angers.

François

1 2 3