Re: error: yacc.h: No such file or directory [patch/workaround]

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Tue, 18 Jun 2019 10:44:44 -0700
On 6/18/2019 10:02 AM, Ian Lepore wrote:
> On Tue, 2019-06-18 at 09:51 -0700, Bryan Drewery wrote:
>> On 6/18/2019 3:56 AM, Kubilay Kocak wrote:
>>> Have seen another report on Twitter yesterday. Didn't see a full
>>> build
>>> log, but theirs was had apparently without -j, apparently on June
>>> 14
>>> sources:
>>>
>>> Error:
>>> /usr/src/usr.bin/mkesdb/lex.1:46:10: fatal error: 'yacc.h' file not
>>> found
>>>
>>> Have not heard back from them whether it continued after trying -j2
>>> but
>>> I did ask them to hit up freebsd-current if it continued to be an
>>> issue
>>
>> Even -j1 should avoid it. For some reason I am only seeing it without
>> any -j flag at all.
>>
>> I should have a fix in soon.

This patch fixes it and allows bin/sh to still build right. I need to
test further before committing though.

http://people.freebsd.org/~bdrewery/patches/dep-headers.diff

That or -j1 is a simple workaround.

>>
> 
> There's a subtle difference between -j1 and no -j at all, having to do
> with running in "compatibility mode".  I forget the details, but I
> remember being burned by the difference once. :)
> 
> -- Ian
> 

Yeah fundamentally this makes sense. There's no dependency defined to
get yacc.h built before lex.o. So the oddness is actually that -j/job
mode gets the order right by accident and that it has a different order
than -B. Shrug.

In bsd.prog.mk historically was this:

.if defined(PROG) && !exists(${.OBJDIR}/${DEPENDFILE})
${OBJS}: ${SRCS:M*.h}
.endif

I changed this mechanism to use OBJS_DEPEND_GUESS which allows a list of
dependencies to apply by checking for the existence of the .depend.foo
file in 1 place. I ended up removing the addition of the headers in
r349061 though while targeting bin/sh build-tools cyclic dependency problem.



-- 
Regards,
Bryan Drewery


Received on Tue Jun 18 2019 - 15:44:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC