Skip site navigation (1)Skip section navigation (2)
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>