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>
