From owner-freebsd-current@FreeBSD.ORG Tue May 6 14:11:50 2014 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B4DBFA7F; Tue, 6 May 2014 14:11:50 +0000 (UTC) Received: from mailout06.t-online.de (mailout06.t-online.de [194.25.134.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mailout00.t-online.de", Issuer "TeleSec ServerPass DE-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5ED63658; Tue, 6 May 2014 14:11:49 +0000 (UTC) Received: from fwd17.aul.t-online.de (fwd17.aul.t-online.de [172.20.27.64]) by mailout06.t-online.de (Postfix) with SMTP id 645701387AA; Tue, 6 May 2014 16:11:13 +0200 (CEST) Received: from [192.168.119.11] (EB0cYOZc8hPCf1afYrdu5J8-XtTJJ4zcSMPSEn6Sl5GhGC6RIHjrKe1AhGyBekagsU@[84.154.114.101]) by fwd17.t-online.de with esmtp id 1Whg5h-0rXrSS0; Tue, 6 May 2014 16:11:29 +0200 Message-ID: <5368ED8C.5040402@freebsd.org> Date: Tue, 06 May 2014 16:11:24 +0200 From: Stefan Esser User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Warner Losh Subject: Re: buildworld fails (missing /usr/share/mk/src.opts.mk) References: <5368B0C5.6040309@freebsd.org> <5368C675.1070700@freebsd.org> <5368D7F1.4040009@freebsd.org> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-ID: EB0cYOZc8hPCf1afYrdu5J8-XtTJJ4zcSMPSEn6Sl5GhGC6RIHjrKe1AhGyBekagsU X-TOI-MSGID: 5e0691cc-ce68-4ebe-a0a5-92289cac8392 Cc: "current@freebsd.org" , Trond.Endrestol@fagskolen.gjovik.no X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 May 2014 14:11:50 -0000 Am 06.05.2014 15:18, schrieb Warner Losh: > > On May 6, 2014, at 7:16 AM, Warner Losh wrote: > >> >> On May 6, 2014, at 6:39 AM, Stefan Esser wrote: >> >>> Am 06.05.2014 13:44, schrieb Trond Endrestøl: >>>> On Tue, 6 May 2014 13:24+0200, Stefan Esser wrote: >>>>> Am 06.05.2014 11:52, schrieb Stefan Esser: >>>>>> Hi Warner, >>>>>> >>>>>> as already reported by Jenkins, HEAD does not build. >>>>>> >>>>>> Seems that this is caused by src.opts.mk missing in >>>>>> /usr/share/mk during the cleandir phase. I guess this is >>>>>> kind of a bootstrap issue - the definitions are looked up >>>>>> in the installed base, not in the src tree - but did not >>>>>> verify this assumption. >>>>>> >>>>>> A work-around is to manually install src.opts.mk: >>>>>> >>>>>> # make -C /usr/src/share/mk install >>>>>> >>>>>> (which might deserve an UPDATING entry). Falling back on >>>>>> the file in the src directory might be a better solution >>>>>> ... >>>>>> >>>>>> Regards, STefan >>>>> >>>>> Following up to my earlier mail: >>>>> >>>>> The diagnosis was wrong - the main Makefiles include >>>>> src.opts.mk from the source directory. But two sub-ordinate >>>>> Makefiles missed to include the new options file >>>>> (sys/conf/kmod.mk and sys/modules/drm2/Makefile). >>>>> >>>>> I committed a fix/work-around to stop the flood of >>>>> tinderbox messages (r265433). >>>> >>>> tinderbox still complains about usr.bin/bmake/Makefile.inc. >>> >>> Hmmm, I managed to buildworld -HEAD after this patch, but it >>> is possible, that I had src.opts.mk installed in /usr/share/mk >>> when I started the build. >>> >>> (I later deleted it, to be sure that the version in the source >>> directory was found and used when building modules, which the >>> commit actually fixed.) >>> >>> I guess the remaining problem is caused by >>> >>> .include "src.opts.mk" >>> >>> in line 3 of src/usr.bin/bmake/Makefile.inc >>> >>> Changing this line to read ".include " seems to >>> fix it on my system. >>> >>> --- usr.bin/bmake/Makefile.inc~ +++ usr.bin/bmake/Makefile.inc >>> @@ -1,6 +1,6 @@ # $FreeBSD$ >>> >>> -.include "src.opts.mk" +.include >>> >>> .if defined(.PARSEDIR) # make sure this is available to >>> unit-tests/Makefile >>> >>> It is possible, that the build will still fail at a latter >>> stage, though (buildworld is still running). >>> >>> I committed the above patch, since it gets buildworld through >>> the bmake subdirectory at least (r265436). If buildworld fails >>> again, then I'll commit any further missing fixes in one go. >>> I'll know in some 20 minutes. >> >> What is your source system? This is absolutely the wrong change, >> and shouldn’t be necessary at all. These changes survived a >> universe run and a few build worlds on other systems. I'm on a fresh -CURRENT (built the previous day) and with sources as of r265439. I agree, that the change to bmake/Makefile.inc was wrong - though it was needed to get a "make cleandir" working in that directory. > > > so I’d like to know how to recreate it, since I didn’t see this in > any of my testing over the last two weeks... The tinderbox builds all fail in bmake, and while I changed Makefile.inc to fix just that kind of problem on my system, it may have worked by accident (because of a forgotten src.opts.mk in /usr/share/mk - it had been installed by a previous attempt to work around these problems). To recapitulate the order of events: 1) make buildkernel failed due to 2 missing includes of src.opts.mk. The affected files files were: sys/conf/kmod.mk sys/modules/drm2/Makefile Adding an .include seems to have fixed this problem. Maybe "src.opts.mk" would have been more correct, but I checked without src.opts.mk in /usr/share/mk and the file was found in src/share/mk. 2) tinderbox still complained about the test for MK_SHARED_TOOLCHAIN in bmake/Makefile.inc (I deleted the mails and thus cannot easily quote the exact error message). I tried to fix this by changing the include syntax in bmake/Makefile.inc, but have just reverted this change. It made buildworld complete on my system, but tinderbox complains loudly. A work-around for the second problem is to manually install src.opts.mk in /usr/share/mk before attempting to build bmake. Regards, STefan