svn commit: r249549 - in stable/9/sys: amd64/conf i386/conf

Brooks Davis brooks at FreeBSD.org
Wed Apr 17 19:47:02 UTC 2013


On Wed, Apr 17, 2013 at 12:35:38PM -0700, Jeremy Chadwick wrote:
> On Wed, Apr 17, 2013 at 02:54:33PM +0200, Jeremie Le Hen wrote:
> > Hi Jeremy,
> > 
> > On Tue, Apr 16, 2013 at 09:19:19AM -0700, Jeremy Chadwick wrote:
> > > 
> > > Now that this has been enabled by default, I should warn folks of a
> > > caveat that I found in the buildworld/buildkernel framework.  It's
> > > easiest to explain like this:
> > > 
> > > 1. Install FreeBSD 9.x, svn checkout of stable/9, etc...
> > > 2. Add WITHOUT_CDDL=true to /etc/src.conf
> > > 3. Rebuild + install kernel/world per src/Makefile procedure
> > > 4. Remove WITHOUT_CDDL=true from /etc/src.conf
> > > 5. rm -fr /usr/obj/*
> > > 6. Rebuild world
> > > 7. Rebuild kernel -- fails, stating "ctfconvert: not found".
> > > 
> > > For whatever reason the buildkernel bits make the assumption that
> > > ctfconvert exists on the system (presumably in $PATH or possibly a
> > > hard-coded), when ideally it should try to use the recently-built
> > > version in /usr/obj first.
> > 
> > I've tested this is a freshly installed 9.1-RELEASE jail and I haven't
> > been biten by the bug you describe.
> > 
> > ctfconvert(1) seems to be installed by default in 9.1-RELEASE, this is
> > probably there problem didn't occur.  I can easily verify this in the
> > jail:
> > 
> > % root at test9:/usr/src # ls -l /usr/bin/ctfconvert /usr/bin/vi /usr/bin/tail 
> > % -r-xr-xr-x  1 root  wheel  371536 Dec  4 09:33 /usr/bin/ctfconvert
> > % -r-xr-xr-x  1 root  wheel   19848 Apr 17 06:28 /usr/bin/tail
> > % -r-xr-xr-x  6 root  wheel  346432 Apr 17 06:28 /usr/bin/vi
> > 
> > 
> > Do you have a theory about why you've got the problem while I haven't?
> > FYI, it seems 9.0-RELEASE also has ctfconvert(1):
> > http://svnweb.freebsd.org/base/release/9.0.0/cddl/usr.bin/ctfconvert/
> > 
> > My guess is tha this might happen if you don't have /usr/bin/ctfconvert.
> > I've just removed it and trying to build kernel again.
> 
> I will spend some time to figure out exactly how to reproduce this.
> 
> Going from recent memory (~2 weeks ago), I encountered it on my VPS box
> (which does run ntpd, just FYI):
> 
> 1. Initially installed with 9.1-RELEASE,
> 2. Upgraded to stable/9 (using svn),
> 3. WITHOUT_CDDL=true and WITHOUT_ZFS=true added to /etc/src.conf
> 4. world/kernel rebuilt/reinstalled/etc. (this includes make delete-old,
>    as per instructions in src/Makefile -- which would delete
>    /usr/bin/ctfconvert)
> 5. Fast forward many months
> 6. Removed WITHOUT_CDDL=true from src.conf
> 7. Encountered the above issue ("ctfconvert: not found") during
>    buildkernel
> 8. Rebuilt kernel again -- same error
> 9. Removed WITHOUT_ZFS=true from src.conf
> 10. Rebuilt kernel again -- worked
> 
> This could mean WITHOUT_ZFS=true has some bearing on this situation, but
> I don't see how/why, as WITHOUT_CDDL is supposed to be the "trigger" for
> ctf* utilities.  I did poke around the Makefiles and framework a bit
> but didn't have any epiphanies.
> 
> Like I said -- I'll try to reproduce the exact scenario.

Looking at Makefile.inc1 around line 1164 (on HEAD), ctfconvert and
cftmerge are bootstrap tools only when they don't exist at all on the
host.  The code there should be expanded to bootstrap for cases where
the installed ones are known to be broken (virtually all prior versions
given recent fixes) as well as when they aren't present on the host
system.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-stable/attachments/20130417/74c8e0d2/attachment.sig>


More information about the svn-src-stable mailing list