Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Feb 2002 08:16:10 +0200
From:      Ruslan Ermilov <ru@FreeBSD.ORG>
To:        Daniel Frazier <dfrazier@magpage.com>
Cc:        stable@FreeBSD.ORG, 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:  <20020222061610.GB73284@sunbay.com>
In-Reply-To: <3C753449.1080300@magpage.com>
References:  <3C73D7C2.3000502@magpage.com> <20020220181526.GB49599@sunbay.com> <3C73EC1B.9080100@magpage.com> <20020221090710.GB13262@sunbay.com> <3C7523DC.3060106@magpage.com> <3C752C88.9080704@magpage.com> <3C753449.1080300@magpage.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 21, 2002 at 12:54:17PM -0500, Daniel Frazier wrote:
> Daniel Frazier wrote:
> 
> >Daniel Frazier wrote:
> >
> >>Ruslan Ermilov wrote:
> >>
> >>>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.
> >>>
> >>>
> >>
> >>
> >>sweet!  I'm make installing the kernel again right now, I'll try your
> >>workarounds as soon as it's ready to make installworld.  At least
> >>this was confirmed as a problem rather than operator error.  Makes me
> >>feel better, at least...
> >>
> >
> >well, that didn't work.  make installworld died with:
> >
> >--------------------------------------------------------------
> > >>> Rebuilding man page indices
> >--------------------------------------------------------------
> >cd /usr/src/share/man; make makedb
> >makewhatis /usr/share/man
> >makewhatis /usr/share/perl/man
> >rm -rf /tmp/install.68925
> >ELF binary type not known.  Use "brandelf" to brand it.
> >*** Signal 6
> >
> >Stop in /usr/src.
> >*** Error code 1
> >
> >Stop in /usr/src.
> >
> >
> >could this be a result of my previous make installworld dying?
> >
> 
> great, now everything's borked.  almost nothing in /bin or /usr/bin
> works, including make.  most spew an error regarding brandelf,
> although as far as I can tell they are branded correctly:
> 
> 
> [terrapin]/usr/src # file /usr/bin/make
> /usr/bin/make: ELF 32-bit LSB executable, Intel 80386, version 1
> (FreeBSD), statically linked, stripped
> [terrapin]/usr/src # make
> ELF binary type not known.  Use "brandelf" to brand it.
> Abort trap
> [terrapin]/usr/src # /bin/ls -la
> ELF binary type not known.  Use "brandelf" to brand it.
> Abort trap
> [terrapin]/usr/src # file /bin/ls
> /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD),
> statically linked, stripped
> [terrapin]/usr/src #
> 
> anyone have an idea on how I can recover from this?  or should I just
> (grrr!) reinstall from scratch?  I hate having to resort to that...
> in fact, never had to before...(with FreeBSD at least...)
> 
Marcel already explained most of the details.  The net effect is that
at this point you should boot with the new -STABLE kernel, and everything
will work.  I've tried it here, and it works flawlessly, with these two
work-arounds and buildworld, buildkernel, installkernel, installworld,
and reboot(8) executed in a sequence.


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?20020222061610.GB73284>