Newer yacc needed for building world

Garrett Cooper yaneurabeya at gmail.com
Fri Apr 24 10:05:48 UTC 2015


On Apr 24, 2015, at 3:03, Garrett Cooper <yaneurabeya at gmail.com> wrote:

> On Apr 24, 2015, at 2:59, Garrett Cooper <yaneurabeya at gmail.com> wrote:
> 
>> On Apr 23, 2015, at 2:05, Willem Jan Withagen <wjw at digiware.nl> wrote:
>> 
>>> On 22/04/2015 23:37, Ed Maste wrote:
>>>> On 22 April 2015 at 15:55, Willem Jan Withagen <wjw at digiware.nl> wrote:
>>>>> 
>>>>>> Yes:
>>>>>> https://lists.freebsd.org/pipermail/freebsd-current/2015-February/054740.html
>>>>>> 
>>>>> 
>>>>> But this is not enough to make yacc part of the build tools??
>>>> 
>>>> yacc is unconditionally built during bootstrap-tools as of r281615.
>>>> What SVN rev is your tree?
>>>> 
>>> 
>>> # svn info
>>> Path: .
>>> Working Copy Root Path: /usr/src
>>> URL: svn://svn.freebsd.org/base/stable/10
>>> Relative URL: ^/stable/10
>>> Repository Root: svn://svn.freebsd.org/base
>>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
>>> Revision: 281853
>>> Node Kind: directory
>>> Schedule: normal
>>> Last Changed Author: kib
>>> Last Changed Rev: 281849
>>> Last Changed Date: 2015-04-22 12:59:05 +0200 (Wed, 22 Apr 2015)
>>> 
>>> Then I removed /usr/obj/* to get a fresh start.
>>> Removing yacc just gets me into trouble even earlier:
>>> 
>>> # make -j 32 buildworld
>>> .
>>> .
>>> .
>>> --- _bootstrap-tools-usr.bin/compile_et ---
>>> --- parse.c ---
>>> yacc -d -o parse.c /usr/src/usr.bin/compile_et/../../contrib/com_err/parse.y
>>> yacc: not found
>>> --- _bootstrap-tools-usr.sbin/bsnmpd/gensnmptree ---
>>> /usr/obj/usr/src/tmp/usr/src/usr.sbin/bsnmpd/gensnmptree created for
>>> /usr/src/usr.sbin/bsnmpd/gensnmptree
>>> --- _bootstrap-tools-usr.bin/compile_et ---
>>> *** [parse.c] Error code 127
>>> 
>>> So I have relatively little further to test.
>>> Perhaps the '-j 32' was a bit aggressive, but it gets fast where the
>>> error is.
>> 
>> 	Well, that’s amusing :(. You found a new race that wasn’t present before my changes to parallelize bootstrap-tools (kerberos comes before yacc in bootstrap-tools). Do you have yacc installed on your machine?
>> 	Please try out this patch.
>> Thanks!
>> -NGie
>> 
>> $ svn diff Makefile.inc1 
>> Index: Makefile.inc1
>> ===================================================================
>> --- Makefile.inc1       (revision 281823)
>> +++ Makefile.inc1       (working copy)
>> @@ -1358,6 +1358,8 @@
>>       usr.bin/compile_et
>> 
>> .ORDER: ${_kerberos5_bootstrap_tools:C/^/${_bt}-/g}
>> +
>> +${_bt}-usr.bin/compile_et: ${_bt}-usr.bin/yacc
>> .endif
>> 
>> bootstrap-tools: .PHONY
> 
> It’ll also need lex too. This should be a bit more comprehensive:
> 
> Index: Makefile.inc1
> ===================================================================
> --- Makefile.inc1       (revision 281823)
> +++ Makefile.inc1       (working copy)
> @@ -1358,6 +1358,8 @@
>        usr.bin/compile_et
> 
> .ORDER: ${_kerberos5_bootstrap_tools:C/^/${_bt}-/g}
> +
> +${_bt}-usr.bin/compile_et: ${_bt}$-usr.bin/lex ${_bt}-usr.bin/yacc
> .endif
> 
> bootstrap-tools: .PHONY

I’ll work out the finally kinks with how to spell lex and yacc…

This is part of the reason why I think BOOTSTRAPPING needs to be kicked to the curb and everything needs to be built in parallel, but enough people haven’t complained about built failures, so the optimization remains..
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20150424/673b07ea/attachment.sig>


More information about the freebsd-current mailing list