Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2002 11:07:10 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        Daniel Frazier <dfrazier@magpage.com>, stable@FreeBSD.org
Cc:        Bruce Evans <bde@FreeBSD.org>, Marcel Moolenaar <marcel@FreeBSD.org>, Peter Wemm <peter@FreeBSD.org>
Subject:   Re: src upgrade 4.0-RELEASE to 4-STABLE fails on make installworld...
Message-ID:  <20020221090710.GB13262@sunbay.com>
In-Reply-To: <3C73EC1B.9080100@magpage.com>
References:  <3C73D7C2.3000502@magpage.com> <20020220181526.GB49599@sunbay.com> <3C73EC1B.9080100@magpage.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 20, 2002 at 01:34:03PM -0500, Daniel Frazier wrote:
[...]
> 
> I was upgrading to yesterday's 4-STABLE.  The second time I cvsup'd was
> around 1500 GMT and I used RELENG_4 in my supfile.  Sorry, thought I had
> made that clear...
> 
> did that too.  Here's the steps I took:
> 
> 1. A while back I installed 4.0-RELEASE and sorta forgot about the box for
> a while.
> 2. yesterday I cvsup'd using RELENG_4_1_1_RELEASE
> 3. started a make buildworld
> 3. read the post "4.0-RELEASE -> 4.5-STABLE now possible..."
> 4. killed the make buildworld
> 5. cvsup'd using RELENG_4
> 6. make buildworld
> 7. make buildkernel KERNCONF=whatever
> 8. make installkernel KERNCONF=whatever
> 9. make installworld
> 10. gasped in horror as the make installworld died.
> 
> Also, while attempting to recover from this I noticed that almost everything
> in /bin had lost it's ABI type and had to be re-brandelf'd.  Dunno what was
> up with that...
> 
> Regardless, I've decided to just nuke /usr/obj and /usr/src and have another
> go at it.  Hopefully my userland isn't too hosed to get thru it this time.
> 
I can confirm that to be a real problem after actually having tried to
installworld with an empty DESTDIR.

The problem is that many installation tools that we copy and run during
installworld have /bin/sh hardcoded in them (e.g. make(1)), and after
the new /bin/sh is installed, make(1) attempted to run the new /bin/sh,
as opposed to /tmp/install.XXXX/sh available through a PATH.

The workaround was to temporarily remove "sh" from the SUBDIR list in
bin/Makefile, for installworld stage.

Another (late) problem was with host's makewhatis(1) which puts
/bin:/usr/bin before the supplied ${PATH}.  Commenting out this
line in /usr/bin/makewhatis before installworld did the trick.

These are workarounds.  The correct solution would be to make
sure that none of the tools from the PATH that we use during
installworld run non-PATH utils (from /bin, /usr/bin, etc.),
like Peter did for install(1) in xinstall.c,v 1.9.


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020221090710.GB13262>