Huh??!?

At least as far back as 06 Jan (based on the mtime of /etc/src.conf), I
had set up src.conf to read:

PORTS_MODULES=x11/nvidia-driver

as I use that driver on my laptop.

Further (as some of you may recall), I maintain private mirrors of the
src & ports repositories on the laptop, which I re-sync overnight.  Then,
each morning, I update the /usr/ports working directory, and I also
update the /usr/src working copies -- on each of the 4 slices that's
bootable:

* slice 1 -- stable/8 i386 (gcc)
* slice 2 -- stable/9 i386 (clang)
* slice 3 -- stable/9 i386 (gcc)
* slice 4 -- head i386 (gcc)

and boot each slice in turn and perform an in-place source update.

Through symlinks, /usr/local is actually shared among all 4
environments, so I build & update installed ports immediately after
smoke-testing the newly-built stable/8.

By setting up src.conf as above, the nvidia.ko module gets built for
each environment; since the module is stored in /boot/modules, it
remains specific to each environment.

This has been working rather uneventfully for some time... until this
morning.

Yesterday, I built & booted:

FreeBSD g1-227.catwhisker.org 8.3-STABLE FreeBSD 8.3-STABLE #419 237918M: Sun 
Jul  1 04:14:48 PDT 2012     
r...@g1-227.catwhisker.org:/common/S1/obj/usr/src/sys/CANARY  i386

After updating /usr/src to r237994 this morning, the buildworld &
buildkernel proceeded without incident.  installkernel got through
the usual base kernel install and started in on the PORTS_MODULES
stuff, when BLAM!  I was rather surprised to see:

...
kldxref /boot/kernel
cd ${PORTSDIR:-/usr/ports}/x11/nvidia-driver; 
PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
  SRC_BASE=/usr/src  OSVERSION=803500  WRKDIRPREFIX=/usr/obj/usr/src/sys/CANARY 
/usr/obj/usr/src/make.i386/make -B instclean all
make: don't know how to make instclean. Stop
*** Error code 2

Stop in /common/S1/obj/usr/src/sys/CANARY.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.


Errr... (I repeat): Huh??!?

I circumvented this for now by moving /etc/src.conf aside, but that
rather defeats the purpose of having created it. :-/

As a bit of a reality check (at that point), I ran "portmaster
x11/nvidia-driver", and that ran to completion successfully, but
another attempt at "make installkernel" (before I moved src.conf
aside) still failed in the same way.


It turns out that I encountered precisely the same mode of failure
for each of the 4 slices this morning.  (Each had been running
@r237918M; each was updated to r237994.  The "M" suffix on the GRN
is merely for my local changes to newvers.sh to make it VCS-agnostic,
rather than cluttering it with code for various VCSen that seem to
be of interest to some folks.)

A quick look for the word "instclean" in /usr/share/mk, /usr/ports/Mk,
and /usr/src came up empty.

So:  What's going on?  What is "instclean" supposed to do for us?  Was
this an error on my part?  What sort of evasive action should I be taking
to avoid a recurrence (while still keeping my machines up-to-date)?

Thanks....

Peace,
david
-- 
David H. Wolfskill                              da...@catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Attachment: pgplhHoOlBkDr.pgp
Description: PGP signature

Reply via email to