make installworld fails; tzsetup missing -C option
gljennjohn at googlemail.com
Tue Aug 24 15:53:12 UTC 2010
On Tue, 24 Aug 2010 12:41:37 +0200
Pieter de Goeje <pieter at degoeje.nl> wrote:
> I'm trying to do a remote upgrade of a machine by mounting
> it's root filesystem on /mnt using nfs. The build machine
> runs a recent 8-STABLE. The target runs 9-CURRENT.
> make installworld fails with:
> install -o root -g wheel -m 444 /data/FreeBSD/FreeBSD-current/src/share/zoneinfo/../../contrib/tzdata//zone.tab /mnt/usr/share/zoneinfo/
> Updating /etc/localtime
> tzsetup: illegal option -- C
> usage: tzsetup [-ns]
> *** Error code 1
> Build script does the equivalent of this:
> $ mount target:/ /mnt
> $ cd /FreeBSD/FreeBSD-current/src
> $ make -j4 buildworld && make -j4 buildkernel
> $ setenv DESTDIR /mnt
> $ make installkernel
> $ setenv NO_FSCHG 1
> $ make installworld
> uname on the build machine:
> FreeBSD 8.1-STABLE #1: Tue Aug 10 13:09:59 CEST 2010
You're trying to install 9-CURRENT using 8.1-STABLE binaries, which just
won't work in this (tzsetup) case.
The -C flag is only set when DESTDIR is set, which might be considered
a bug since it prevents cross-compiling and cross-installation using
different versions of FreeBSD, like in your case.
But I'm not so sure that support for this is guaranteed when going from
an older version to a newer version.
I suppose you could try a) editing share/zoneinfo/Makefile and deleting
the optC code or b) pointing PATH at DESTDIR, if it's already populated.
More information about the freebsd-current