Re: error: yacc.h: No such file or directory

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Tue, 18 Jun 2019 06:45:10 -0700
On June 18, 2019 6:24:36 AM PDT, Michael Tuexen <tuexen_at_freebsd.org> wrote:
>> On 18. Jun 2019, at 12:56, Kubilay Kocak <koobs_at_FreeBSD.org> wrote:
>> 
>> On 18/06/2019 5:42 pm, Michael Tuexen wrote:
>>> Dear all,
>>> I'm trying to run
>>> sudo make buildworld
>>> in a directory with r349168.
>>> The result is:
>>> cc  -O2 -pipe -I/usr/home/tuexen/head/usr.bin/mkesdb_static
>-I/usr/home/tuexen/head/usr.bin/mkesdb_static/../mkesdb 
>-I/usr/home/tuexen/head/usr.bin/mkesdb_static/../../lib/libc/iconv  -g
>-MD  -MF.depend.lex.o -MTlex.o -std=gnu99    
>-I/usr/obj/usr/home/tuexen/head/powerpc.powerpc64/tmp/legacy/usr/include
>-c lex.c -o lex.o
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:46:18: error: yacc.h: No
>such file or directory
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l: In function 'yylex':
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:60: error: 'R_LN'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:60: error: (Each
>undeclared identifier is reported only once
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:60: error: for each
>function it appears in.)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:72: error: 'yylval'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:73: error: 'L_IMM'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:76: error: 'R_NAME'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:77: error: 'R_ENCODING'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:78: error: 'R_VARIABLE'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:79: error: 'R_DEFCSID'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:80: error: 'R_INVALID'
>undeclared (first use in this function)
>>> /usr/home/tuexen/head/usr.bin/mkesdb/lex.l:88: error: 'L_STRING'
>undeclared (first use in this function)
>>> *** Error code 1
>>> Stop.
>>> make[3]: stopped in /usr/home/tuexen/head/usr.bin/mkesdb_static
>>> *** Error code 1
>>> Stop.
>>> make[2]: stopped in /usr/home/tuexen/head
>>> *** Error code 1
>>> Stop.
>>> make[1]: stopped in /usr/home/tuexen/head
>>> *** Error code 1
>>> Stop.
>>> make: stopped in /usr/home/tuexen/head
>>> This is on a 64 bit PPC system. Doing sudo rm -rf /usr/obj does not
>resolve the issue.
>>> Any idea what is going wrong?
>>> Best regards
>>> Michael
>> 
>> 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
>OK, I started the build again with -j 2 and it seems that the problem
>does not occur.
>
>Since I have been using make buildworld without -j n in the past on
>that machine, the
>problem seems to be introduced recently. Any idea what is the cause of
>the problem?
>
>Best regards
>Michael
>> 
>
>_______________________________________________
>freebsd-current_at_freebsd.org mailing list
>https://lists.freebsd.org/mailman/listinfo/freebsd-current
>To unsubscribe, send any mail to
>"freebsd-current-unsubscribe_at_freebsd.org"

This is a generated file. It would appear the make target to build yacc.h hadn't run yet by the time the target that consumed the file ran.

I had a similar problem on Sunday. It wasn't yacc.h but some other file, I cannot remember which. It occurred during one of four buildworlds. Simply restarting the failed buildworld was enough to resolve it.

My hypothesis is a buildworld race. I wonder if some of the recent (over the last week or two) makefile changes exacerbated this issue.


-- 
Pardon the typos and autocorrect, small keyboard in use.
Cheers,
Cy Schubert <Cy.Schubert_at_cschubert.com>
FreeBSD UNIX: <cy_at_FreeBSD.org> Web: http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.
Received on Tue Jun 18 2019 - 11:45:49 UTC

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