Date: Mon, 24 May 2010 09:24:00 -0700 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: Stefan Bethke <stb@lassitu.de> Cc: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Re: make world fails in usr.sbin/config? Message-ID: <20100524162400.GA31162@icarus.home.lan> In-Reply-To: <20100524150738.GA30549@icarus.home.lan> References: <20100524120910.GA25613@icarus.home.lan> <E55CDD84-E46E-4ABB-995D-B4F794F80BD6@lassitu.de> <20100524121856.GA26479@icarus.home.lan> <224129E1-5E90-4E36-A553-2F37C0CF0780@lassitu.de> <20100524122944.GA26720@icarus.home.lan> <0CFCBFC9-F613-4D16-9359-334ECED3E913@lassitu.de> <20100524131346.GA27811@icarus.home.lan> <2142CA1C-C914-4ED0-A72D-0A0161C739E3@lassitu.de> <9C8A5AA9-4460-4629-97C4-6EDE50745797@lassitu.de> <20100524150738.GA30549@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 24, 2010 at 08:07:38AM -0700, Jeremy Chadwick wrote:
> On Mon, May 24, 2010 at 03:39:19PM +0200, Stefan Bethke wrote:
> > Am 24.05.2010 um 15:27 schrieb Stefan Bethke:
> >
> > > I've now checked out via csup, and I've put /usr/obj on UFS. The error has shifted yet again:
> > > cc -O2 -pipe -I. -I/usr/src/usr.bin/lex -std=gnu99 -I/usr/obj/usr/src/tmp/legacy/usr/include -c parse.c
> > > /usr/src/usr.bin/lex/parse.y: In function 'build_eof_action':
> > > /usr/src/usr.bin/lex/parse.y:786: error: 'MAXLINE' undeclared (first use in this function)
> > >
> > > I would agree that this looks like time problems or similar, but I don't see how that could be the case.
> > >
> > > I'll put the source on UFS as well, just to make sure.
> >
> > Putting the sources on a separate UFS file system "fixed" the build issue. Previously, I did have root on UFS, but /usr/src and /usr/obj on ZFS, so I don't quite understand what the difference is.
>
> I'll try reproducing your problem on said VM box I have, once I finish
> testing for a possible a 8.0-RELEASE to 8.1-PRERELEASE issue.
VM system has a fresh 8.0-STABLE-201002 installed on it, taken from the
8.0-STABLE snapshots directory. This is "fairly close" to your
kernel/world build time.
testbox# uname -a
FreeBSD testbox.home.lan 8.0-STABLE-201002 FreeBSD 8.0-STABLE-201002 #0: Tue Feb 16 21:05:59 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
Things to note up front:
1) I chose *not* to install ports nor src from the installation medium,
so /usr/src and /usr/ports at this point are empty dirs.
2) VM instance is running without ntpdate + ntpd intentionally.
Preparation and creation of the zpool (raidz1 w/ 3x 8GB disks) and
filesystems:
testbox# echo 'zfs_enable="yes"' >> /etc/rc.conf
testbox# /etc/rc.d/hostid start
Setting hostuuid: 564de564-be17-6e27-89b6-ae662003f0db.
Setting hostid: 0xfa4c1c12.
testbox# /etc/rc.d/zfs start
testbox# zpool create data raidz1 da1 da2 da3
testbox# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
data 23.9G 141K 23.9G 0% ONLINE -
testbox# zfs set mountpoint=none data
testbox# zfs create -o mountpoint=/usr/obj data/usr_obj
testbox# zfs create -o mountpoint=/usr/ports data/usr_ports
testbox# zfs create -o mountpoint=/usr/src data/usr_src
testbox# zfs list
NAME USED AVAIL REFER MOUNTPOINT
data 228K 15.7G 24.0K none
data/usr_obj 24.0K 15.7G 24.0K /usr/obj
data/usr_ports 24.0K 15.7G 24.0K /usr/ports
data/usr_src 24.0K 15.7G 24.0K /usr/src
At this point I tuned loader.conf to permit for larger ZFS ARC size (the
VM is only allocated 1GB of RAM; this is intentional, as I wanted to
simulate a memory-tight environment), explicitly disabled prefetching,
and adjusted vfs.zfs.txg.timeout for an increase in responsiveness:
testbox# echo 'vm.kmem_size="768M"' >> /boot/loader.conf
testbox# echo 'vfs.zfs.arc_max="512M"' >> /boot/loader.conf
testbox# echo 'vfs.zfs.prefetch_disable="1"' >> /boot/loader.conf
testbox# echo 'vfs.zfs.txg.timeout="5"' >> /boot/loader.conf
testbox# shutdown -r now
System rebooted to pick up loader.conf changes, and on to csup:
testbox# csup -h cvsup10.freebsd.org -L 2 -4 /usr/share/examples/cvsup/stable-supfile
{...}
testbox# csup -h cvsup10.freebsd.org -L 2 -4 /usr/share/examples/cvsup/ports-supfile
{...}
Removing some base system pieces and adding optimisations:
testbox# cat > /etc/make.conf
KERNCONF=GENERIC
CPUTYPE?=nocona
testbox# cat > /etc/src.conf
WITHOUT_IPFILTER=true
WITHOUT_LIB32=true
WITHOUT_KERBEROS=true
WITHOUT_PROFILE=true
WITHOUT_SENDMAIL=true
testbox#
Builds are underway now (following /usr/src/Makefile method), I'll
report back when those are done. I'm also adding "time" in front of the
"make buildXXX" portions just to see now long things take.
--
| Jeremy Chadwick jdc@parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100524162400.GA31162>
