Re: 5.1-RELEASE-p2 buildworld crash - help!!

From: Alexander Portnoy <my-subs_at_mail.ru>
Date: Wed, 3 Sep 2003 02:29:58 +0300
> ODHIAMBO Washington wrote:
>
>  The problem started this way:
> 
> I cvsup-ped, make buildworld, then kind of I forgot to buildkernel/
> installkernel/installworld. I did another cvsup (I hadn't rebooted
> even, and yes, I do build{world|kernel} in server mode, then do
> installworld/mergemaster in single user mode.
> 
> Now after cvsupping afresh, I have failed to buildworld completely,
> even doing cvsup N times again. Buildworld always fails with the
> error depicted in the log output below:
>
> http://ns2.wananchi.com/~wash/FreeBSD/ - that text file in there.
>


> ODHIAMBO Washington wrote:
>
> * Alexander Portnoy <my-subs_at_mail.ru> [20030902 10:18]: wrote:
> > According to the first stages of your buildworld output,
> > You are trying to upgrade from FreeBSD-4.x.
> > This problem is known and described in the "Problem Report bin/53201"
> > See http://www.freebsd.org/cgi/query-pr.cgi?pr=bin%2F53201
> >
> > P.S. There are no problems to upgrade from FreeBSD-4.x to 5.1-CURRENT.
>
> This assertion is not correct!
> 
> 
> I have been running 5.1 (even 5.0-RELEASE) for months. The last time I
> did a successful build was August 20. I've always cvsupped and rebuild
> every week!
> 
> 
> _at_(#)FreeBSD 5.1-RELEASE-p2 #0: Wed Aug 20 16:44:35 EAT 2003
>     root_at_beastie.wananchi.com:/usr/obj/usr/src/sys/FREEBEAST
> FreeBSD
> 5.1-RELEASE-p2
>

The log of your buildworld contains the following:

lines 7 to 18:
..............................................................
Running test lhs_expn
FAIL: Test failed: regression detected.  See above.
*** Error code 1

Stop in /usr/src/tools/regression/usr.bin/make.
*** Error code 1

Stop in /usr/src/tools/regression/usr.bin/make.

--------------------------------------------------------------
 Building an up-to-date make(1)
--------------------------------------------------------------


This behavior is specific for the 4.x branch that have the old version of make.

There is the output of make buildworld that I get on 4.8-RELEASE-p3
when I try to build 5.1-RELEASE-p2:


Running test lhs_expn
FAIL: Test failed: regression detected.  See above.
*** Error code 1

Stop in /usr/src/tools/regression/usr.bin/make.
*** Error code 1

Stop in /usr/src/tools/regression/usr.bin/make.

--------------------------------------------------------------
 Building an up-to-date make(1)
--------------------------------------------------------------


There is the output of make buildworld that I get on 5.1-RELEASE-p2
when I try to build 5.1-RELEASE-p2:

Running test variables
PASS: Test variables detected no regression, output matches.
Running test targets
PASS: Test targets detected no regression.
Running test sysvmatch
PASS: Test sysvmatch detected no regression.
Running test lhs_expn
PASS: Test lhs_expn detected no regression.
Running test notdef
PASS: Test notdef detected no regression.
Running test modifiers
PASS: Test modifiers detected no regression.
Running test funny_targets
PASS: Test funny_targets detected no regression.

--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------

So, how  You can see, your /usr/bin/make is old.


In addition, take a look at the value of BOOTSTRAPPING
in the following lines of your log:


line 138:
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj/usr/src/i386  DESTDIR=  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/i386/legacy/usr/sbin:/usr/obj/usr/src/i386/legacy/usr/bin:/usr/obj/usr/src/i386/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/usr/src/i386  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk" /usr/obj/usr/src/make.i386/make -f Makefile.inc1  BOOTSTRAPPING=480102  -DNOHTML -DNOINFO -DNOLINT -DNOMAN -DNOPIC -DNOPROFILE  -DNOSHARED -DNO_CPU_CFLAGS -DNO_WARNS legacy

line 154:
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj/usr/src/i386  DESTDIR=  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/i386/legacy/usr/sbin:/usr/obj/usr/src/i386/legacy/usr/bin:/usr/obj/usr/src/i386/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/usr/src/i386  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk" /usr/obj/usr/src/make.i386/make -f Makefile.inc1  BOOTSTRAPPING=480102  -DNOHTML -DNOINFO -DNOLINT -DNOMAN -DNOPIC -DNOPROFILE  -DNOSHARED -DNO_CPU_CFLAGS -DNO_WARNS bootstrap-tools

line 4419:
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj  DESTDIR=  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/i386/legacy/usr/sbin:/usr/obj/usr/src/i386/legacy/usr/bin:/usr/obj/usr/src/i386/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/usr/src/i386  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk" /usr/obj/usr/src/make.i386/make -f Makefile.inc1  BOOTSTRAPPING=480102 -DNOLINT -DNO_CPU_CFLAGS -DNO_WARNS build-tools

line 4624:
cd /usr/src; TOOLS_PREFIX=/usr/obj/usr/src/i386 MAKEOBJDIRPREFIX=/usr/obj/usr/src/i386  DESTDIR=  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/i386/legacy/usr/sbin:/usr/obj/usr/src/i386/legacy/usr/bin:/usr/obj/usr/src/i386/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/usr/src/i386  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk" /usr/obj/usr/src/make.i386/make -f Makefile.inc1  BOOTSTRAPPING=480102  -DNOHTML -DNOINFO -DNOLINT -DNOMAN -DNOPIC -DNOPROFILE  -DNOSHARED -DNO_CPU_CFLAGS -DNO_WARNS -DNO_FORTRAN -DNO_GDB cross-tools


The value of BOOTSTRAPPING is 480102. This means that the 'world' of your system
(4.x-STABLE) is not synchronized with your kernel (5.2-RELEASE-p2).

The value of BOOTSTRAPPING comes from /usr/src/Makefile.inc1 (see the lines 207 and 214).
It is initialized by the value of OSRELDATE.
OSRELDATE defined before at line 121:

OSRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
		/usr/include/osreldate.h

This must be the same value as the output of "sysctl -n kern.osreldate"
On 4.8-RELEASE-p3 it is 480000, on 5.1-RELEASE-p2 OSRELDATE == 501000.

Also, check contents of the file /usr/include/osreldate.h.
On the 5.1-RELEASE-p2 it must contain the following definitions:

#ifdef _KERNEL
#error "<osreldate.h> cannot be used in the kernel, use <sys/param.h>"
#else
#undef __FreeBSD_version
#define __FreeBSD_version 501000
#endif


I hope this will help You.
Good luck !!!
Received on Tue Sep 02 2003 - 14:30:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:21 UTC