|
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 [hidden email]:/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 [hidden email] Depriving a girl or boy of an opportunity for education is evil. See http://www.catwhisker.org/~david/publickey.gpg for my public key. |
|
On Mon, 2 Jul 2012, David Wolfskill wrote:
> 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 "Don't do that." PORTS_MODULES is documented to belong in make.conf, not src.conf. That said, dougb has tweaked the behavior of PORTS_MODULES recently, so you could look more carefully at those changes. (r237090 and r237958, both have been merged back to 7/8/9.) -Ben Kaduk _______________________________________________ [hidden email] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[hidden email]" |
|
On 07/02/2012 09:25, Benjamin Kaduk wrote:
> On Mon, 2 Jul 2012, David Wolfskill wrote: > >> 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 > > "Don't do that." > PORTS_MODULES is documented to belong in make.conf, not src.conf. It works fine in src.conf. Please point to the documentation you speak of so that it can be fixed. > That said, dougb has tweaked the behavior of PORTS_MODULES recently Yes, this is my mistake, I'll fix it. -- This .signature sanitized for your protection _______________________________________________ [hidden email] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[hidden email]" |
|
On Mon, 2 Jul 2012, Doug Barton wrote:
> On 07/02/2012 09:25, Benjamin Kaduk wrote: >> On Mon, 2 Jul 2012, David Wolfskill wrote: >> >>> 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 >> >> "Don't do that." >> PORTS_MODULES is documented to belong in make.conf, not src.conf. > > It works fine in src.conf. Please point to the documentation you speak > of so that it can be fixed. PORTS_MODULES is listed in make.conf.5, and is not listed in src.conf.5. >From src.conf: The only purpose of src.conf is to control the compilation of the FreeBSD source code, which is usually located in /usr/src. This would seem to not include Ports code (which is usually located in /usr/ports). I'm pretty sure it's come up in the past that src.conf should only be used for those build options explicitly documented in it, and not other settings, and the implementation may be subject to change (so that other settings would no longer work) in the future. If you would like me to go search for those previous discussions, I can try, but my reading of these man pages is that it's pretty clear-cut. -Ben _______________________________________________ [hidden email] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[hidden email]" |
|
In reply to this post by dougb
The problem is fixed now. This time I tested build and install with the
same code. :( Sorry for the breakage, Doug -- This .signature sanitized for your protection _______________________________________________ [hidden email] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[hidden email]" |
|
On Mon, Jul 02, 2012 at 03:21:07PM -0700, Doug Barton wrote:
> The problem is fixed now. This time I tested build and install with the > same code. :( Ah; I see. Cool; thanks! :-) > Sorry for the breakage, > ... Eh; let's hope that's the worst thing that happens for the rest of the month, shall we? :-) (If it is, we will truly be blessed!) Peace, david -- David H. Wolfskill [hidden email] Depriving a girl or boy of an opportunity for education is evil. See http://www.catwhisker.org/~david/publickey.gpg for my public key. |
|
In reply to this post by Benjamin Kaduk-2
On 07/02/2012 13:41, Benjamin Kaduk wrote:
> On Mon, 2 Jul 2012, Doug Barton wrote: > >> On 07/02/2012 09:25, Benjamin Kaduk wrote: >>> On Mon, 2 Jul 2012, David Wolfskill wrote: >>> >>>> 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 >>> >>> "Don't do that." >>> PORTS_MODULES is documented to belong in make.conf, not src.conf. >> >> It works fine in src.conf. Please point to the documentation you speak >> of so that it can be fixed. > > PORTS_MODULES is listed in make.conf.5, and is not listed in src.conf.5. I see. That's a side effect of the wacky way in which src.conf.5 is built, combined with the fact that no one has yet migrated the things in make.conf.5 that predated the creation of src.conf altogether. There are numerous other examples, including KERNCONF and MODULES_OVERRIDE that I have in my src.conf just off the top of my head. Fixing this would be a great task for a doc person who wanted to get more exposure to src stuff. :) > From src.conf: > The only purpose of src.conf is to control the compilation of the > FreeBSD > source code, which is usually located in /usr/src. > This would seem to not include Ports code (which is usually located in > /usr/ports). I think the first "usually" is the one that is more relevant. However, that sentence is badly phrased to start with. It should probably say something like, "The /etc/src.conf file is used for make options that are exclusive to the build process for the base OS." Since PORTS_MODULES falls into that category (even though the code lives in ports, it's part of the base build process), it qualifies. Also, and much more importantly, putting it in src.conf actually works, which you probably should have checked first before commenting. :) > I'm pretty sure it's come up in the past that src.conf should only be > used for those build options explicitly documented in it, and not other > settings Unfortunately, there has been confusion on this point in the past, I agree. However it's important to note that "the documentation" is not necessarily the final appeal to authority, since "we" wrote the documentation, and "we" get it wrong sometimes. :) Doug -- This .signature sanitized for your protection _______________________________________________ [hidden email] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[hidden email]" |
| Powered by Nabble | Edit this page |
