Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Apr 2001 15:16:08 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Mart Norman <mart@estnet.ee>, freebsd-current@FreeBSD.ORG
Subject:   Re: upgrading from 3.0 to 4.3 
Message-ID:  <20010423221608.165E038FC@overcee.netplex.com.au>
In-Reply-To: <Pine.BSF.4.21.0104240728410.8931-100000@besplex.bde.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
> On Mon, 23 Apr 2001, Mart Norman wrote:
> 
> > Hi!
> > 
> > I'm trying to upgrade from 3.0 to 4.3 but make buildworld fails
> > 
> > cc -O -pipe  -I. -I/usr/src/usr.sbin/config -Wall -Wunused
> > -Wmissing-prototypes -Wredundant-decls
> > -I/usr/obj/usr/src/i386/usr/include  -static -o config config.o main.o
> > lang.o mkioconf.o mkmakefile.o mkheaders.o mkoptions.o  -ll
> > main.o: In function `main':
> > main.o(.text+0x12a): undefined reference to `strlcpy'
> > main.o(.text+0x234): undefined reference to `strlcpy'
> > main.o(.text+0x249): undefined reference to `strlcat'
> > mkoptions.o: In function `tooption':
> > mkoptions.o(.text+0x540): undefined reference to `strlcpy'
> > mkoptions.o(.text+0x573): undefined reference to `strlcpy'
> > mkoptions.o(.text+0x59e): undefined reference to `strlcpy'
> > *** Error code 1
> > 
> > Stop.
> 
> Someone broke buildworld by putting `config' in bootstrap-tools although
> `config' is not portable enough to be put there.

I have been tempted to work around this, but when I had the same task
(ie: upgrade 3.0-CURRENT from Dec 98 -> 4.2-stable) I discovered that there
is a lot more that is broken.

> > my /etc/make.conf looks like this:
> > 
> > USA_RESIDENT=NO
> > CFLAGS= -O -pipe
> > NOPROFILE=     true
> > NO_OPENSSH=    true    # do not build OpenSSH
> > NO_OPENSSL=    true    # do not build OpenSSL (implies NO_OPENSSH)
> > 
> > 
> > Any hints what should i do to make buildworld successful?
> 
> Start by deleting usr.sbin/config from bootstrap-tools.  You won't be
> able to build any kernels until the new world is installed, and this
> may cause further problems.

Dont forget -DNO_PERL.  'installworld' will destroy your system as just
about every single application will fail with a SIGSYS due to signal
calls.

I got around this by building a kernel elsewhere (basically a slightly
stripped GENERIC), booting that, and then doing something like:
make -k buildworld; make -k installworld, then repeating.

I think the only path that we "officially" support is 3.x -> 3.4-stable ->
4.0-R -> 4.x-stable.  If one has a lot of persistance (and patience)
anything can be done.  I did 3.0-CURRENT -> 4.2-RC on a very very slow link
(2000ms+ ping times) to a remote corner on the other side of the planet, on
a slow machine (486), no serial console, no remote power and 12-hour
turnaround if somebody needed to physically.  I think the only reason I
survived was because I run a 4.2-RC kernel with the 3.0-current userland
for the duration of the build.

> Bruce

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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