Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 May 2007 00:00:40 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Doug Hardie <bc979@lafn.org>
Cc:        FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   Re: installworld in 6.2
Message-ID:  <20070519220040.GA5929@owl.midgard.homeip.net>
In-Reply-To: <BE383228-FA25-4F3E-AACB-69550A46EF9D@lafn.org>
References:  <BE383228-FA25-4F3E-AACB-69550A46EF9D@lafn.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, May 19, 2007 at 02:11:59PM -0700, Doug Hardie wrote:
> I have found what I believe is a "bug" in installworld for FreeBSD  
> 6.2.  I do not believe this was in 6.1 as I would have encountered  
> the same problem there.  I run a number of production servers.  I  
> maintain the source on one development machine where it is built and  
> tested.  To upgrade a production server I NIS mount /usr/src and /usr/ 
> obj then run the commands per UPDATING.  The problem occurs now  
> because my development machine has /usr on a slice on the same disk  
> as /.  However, /usr/obj is a soft link to /usr2 which is a separate  
> drive.  There was not enough space on the primary drive for  
> everything and I really don't need to backup /usr/obj as it can  
> easily be rebuilt.
> 
> During make installworld when it gets to the /boot section I get an  
> error that it cannot make a library in /usr2/obj/src.....  Everything  
> quits at that point.  My production machines do not have a /usr2  
> filesystem.  In order to get installworld to work I had to add a soft  
> link on the production server of /usr2 pointing to /usr.  Then  
> installworld completed properly.  I don't believe that link should be  
> needed. 

This sounds like a well known behaviour of buildworld/installworld.

If you build on one machine and install on another then the directory
structure for /usr/src and /usr/obj need to be more or less identical on
both machines.

In particular one needs to be very careful with either of /usr/src or
/usr/obj being a symlink since it will get resolved during the build and
the actual path will be embedded in several places in the built tree.
The machine you install on will then use the actual paths from the build
machine  (/usr2/obj/... in your case) and needs to have those at the right
places. 

This is not a new behaviour for 6.2. It has been this way for many years.





-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



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