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

Jeremy Chadwick jdc at koitsu.org
Wed Apr 17 19:35:39 UTC 2013


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.

-- 
| Jeremy Chadwick                                   jdc at koitsu.org |
| UNIX Systems Administrator                http://jdc.koitsu.org/ |
| Mountain View, CA, US                                            |
| Making life hard for others since 1977.             PGP 4BD6C0CB |


More information about the svn-src-stable-9 mailing list