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

From: Stefan Esser <se_at_freebsd.org>
Date: Tue, 06 May 2014 14:39:13 +0200
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.

Regards, STefan
Received on Tue May 06 2014 - 10:46:16 UTC

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