Date: Thu, 21 Feb 2002 12:54:17 -0500 From: Daniel Frazier <dfrazier@magpage.com> To: Daniel Frazier <dfrazier@magpage.com> Cc: Ruslan Ermilov <ru@FreeBSD.ORG>, 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: <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>
next in thread | previous in thread | raw e-mail | index | archive | help
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...)
--
----------------------------------------------------------------------
Daniel Frazier <dfrazier@magpage.com> Tel: 302-239-5900 Ext. 231
Systems Administrator Fax: 302-239-3909
MAGPAGE, We Power the Internet WWW: http://www.magpage.com/
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
- Benjamin Franklin, Historical Review of Pennsylvania, 1759.
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?3C753449.1080300>
