On Wed, Apr 17, 2013 at 11:00:11PM +0200, Jeremie Le Hen wrote: > On Wed, Apr 17, 2013 at 02:47:06PM -0500, Brooks Davis wrote: > > > > > 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. > > Do you have an idea how we can identify whether the installed > ctfconvert(1) is broken or not? I think in Jeremy's case we cannot rely > on OSRELDATE given that right before he built and installed world with > WITHOUT_CDDL, so ctfconvert and OSRELDATE are not in sync.
I think we should be able to come up with a fairly reliable set values where it's broken. We can also add a exists(/usr/bin/ctfconvert) to catch the case were the user caused it to not be there. > Why not just always add ctfconvert to bootstrap tools when it is needed? > I don't know how long it takes to build though, but it is probably > nothing compared to LLVM ;-). It's probably not too bad to add, but I don't think it's changing all that quickly so as long as people remember to update Makefile.inc1 it shouldn't too bad. -- Brooks
pgpqj53OI8vcD.pgp
Description: PGP signature