Haven't been able to make world in about a year

Donald J. O'Neill duncan.fbsd at gmail.com
Tue Feb 21 07:22:51 PST 2006


On Tuesday 21 February 2006 05:39, Alex Zbyslaw wrote:
> Kristian Vaaf wrote:
> >  I don't know what's wrong. But all my makes error out. I've tried
> >  over and over again. And sent about a dozen e-mails to this list.
> >
> >  http://www.home.no/hedhnta/result.txt
>
> This is my supposition.  There have been many messages to this list
> which clearly say that advanced gcc options (like advanced
> optmisations) are a bad idea for CFLAGS defaults in make.conf because
> they can prevent world/kernel from rebuilding properly.  So, playing
> spot-the-difference between your compile line which fails, and my
> last one which succeeded...
>
> Yours:
> cc -E -O2 -fno-strict-aliasing -pipe -I. -I/usr/src/bin/csh
> -I/usr/src/bin/csh/../../contrib/tcsh -D_PATH_TCSHELL='"/bin/csh"'...
> Mine:
> cc -E -O -pipe -I. -I/usr/src/bin/csh
> -I/usr/src/bin/csh/../../contrib/tcsh -D_PATH_TCSHELL='"/bin/csh"'...
>
> You'll see that your has -O2 and -fno-strict-aliasing while mine has
> just -O. So the first thing I would do is to try fixing CFLAGS in
> make.conf to get rid of "-fno-strict-aliasing" and change "-O2" to
> "-O".  I can't say whether one, both or neither is actually wrong,
> but mine worked and yours didn't, so at least one of them is a good
> potential source for the problem.
>
> Let us know if it helps.  Someone out there undoubdetdly knows which
> options are safe to add here, and may even be able to say where they
> are documented.
>
> --Alex
>
> PS You neglected to mention which version of FreeBSD you were
> running. My compile line is from 5.4.
>

Hello Kristian,

Have you ever been able to do a buildworld sequence? What version of 
FreeBSD are you trying to work with? What does your make.conf look 
like? How about your /conf/ARBA (your custom kernel config)? What do 
you have in your /etc/cvsupfile?

In my make.conf I use:
	CFLAGS= -O2 -pipe
	COPTFLAGS= -O2 -pipe
That's worked for years, well, a very long time anyway. 

Comparing the same section in your script run, to mine, which was run 
last night:

yours:
===> bin/csh (obj,build-tools)
grep 'ERR_' /usr/src/bin/csh/../../contrib/tcsh/sh.err.c | grep 
'^#define' >> sh.err.h
cc -E -O2 -fno-strict-aliasing -pipe -I. -I/usr/src/bin/csh 
-I/usr/src/bin/csh/../../contrib/tcsh -D_PATH_TCSHELL='"/bin/csh"'  
-I/usr/obj/usr/src/tmp/legacy/usr/include /usr/src/bin/csh/../../contrib
/tcsh/tc.const.c /usr/src/bin/csh/../../contrib/tcsh/sh.char.h /usr/src
/bin/csh/config.h /usr/src/bin/csh/../../contrib/tcsh/config_f.h /usr/src
/bin/csh/../../contrib/tcsh/sh.types.h sh.err.h -D_h_tc_const | grep 
'Char STR' |  sed -e 's/Char \([a-zA-Z0-9_]*\)\(.*\)/extern Char \1
[];/' |  sort >> tc.const.h

mine:
===> bin/csh (obj,build-tools)
grep 'ERR_' /usr/src/bin/csh/../../contrib/tcsh/sh.err.c | grep 
'^#define' >> sh.err.h
cc -E -O2 -pipe -I. -I/usr/src/bin/csh 
-I/usr/src/bin/csh/../../contrib/tcsh -D_PATH_TCSHELL='"/bin/csh"'  
-I/usr/obj/usr/src/tmp/legacy/usr/include /usr/src/bin/csh/../../contrib
/tcsh/tc.const.c /usr/src/bin/csh/../../contrib/tcsh/sh.char.h /usr/src
/bin/csh/config.h /usr/src/bin/csh/../../contrib/tcsh/config_f.h /usr/src
/bin/csh/../../contrib/tcsh/sh.types.h sh.err.h -D_h_tc_const | grep 
'Char STR' |  sed -e 's/Char \([a-zA-Z0-9_]*\)\(.*\)/extern Char \1
[];/' |  sort >> tc.const.h

They look very similar except: you have -fno-stict-aliasing and I don't; 
yours starts erroring before buildworld completes (looks to be about a 
fourth of the way through) and mine builds to completion.

Your buildworld sequence appears to be a little lacking - either in the 
detail you gave, or because some things are missing.
The buildworld sequence I us is:
===========================
 (I use the alternate step 10 when I run the sequence)

1)Script /home/script/buildworld/bw-”date run”
2)cd /usr/obj		pwd
3)chflags -R noschg *
4)rm -rf *
5)cd /usr/src		pwd		make cleandir	make cleandir
6)make buildworld && make buildkernel KERNCONF=customconfname
7)make installkernel KERNCONF=customconfname
8)exit
9)shutdown now		<Enter>
10) <Enter>			to accept default location of sh

alternate step 10
a)  shutdown -r now		<Enter>
b)  at boot menu	<6>
c)  boot -s			<Enter>
d)  fsck -p			<Enter>
e)  mount -u /			<Enter>
f)  mount -a -t ufs		<Enter>
g)  swapon -a			<Enter>
h)  cd /usr/src			<Enter>
i)adjkerntz -i			<Enter>

11)  script /home/script/buildworld/iw-”date run"
12)  cd /usr/src		pwd
13)  mergemaster -p
14)  make installworld
15)  mergemaster -i		“install everything”
16)  exit
17)shutdown -r now
===============================

This should help a bit.

Don


More information about the freebsd-questions mailing list