Re: buildworld fails (missing /usr/share/mk/src.opts.mk)

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 6 May 2014 07:18:26 -0600
On May 6, 2014, at 7:16 AM, Warner Losh <imp_at_bsdimp.com> wrote:

> 
> On May 6, 2014, at 6:39 AM, Stefan Esser <se_at_freebsd.org> 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 <src.opts.mk>" seems to fix
>> it on my system.
>> 
>> --- usr.bin/bmake/Makefile.inc~
>> +++ usr.bin/bmake/Makefile.inc
>> _at__at_ -1,6 +1,6 _at__at_
>> # $FreeBSD$
>> 
>> -.include "src.opts.mk"
>> +.include <src.opts.mk>
>> 
>> .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.

<hit send too fast>

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...

> Warner


Received on Tue May 06 2014 - 11:18:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:49 UTC