Re: Newer yacc needed for building world

From: Willem Jan Withagen <wjw_at_digiware.nl>
Date: Fri, 24 Apr 2015 13:18:35 +0200
On 24/04/2015 12:05, Garrett Cooper wrote:
> 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)
>>> _at__at_ -1358,6 +1358,8 _at__at_
>>>       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)
>> _at__at_ -1358,6 +1358,8 _at__at_
>>        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..
> 

Well, what I did for the above test is
	mv /usr/bin/yacc /usr/bin/yacc.sav
Mainly because I already installed a yacc version that did not run out
of tablespace for roken.

I'll give your patch a go.

Turns out that it is even used before that when building bsnmpd.
Which make me wonder why that would be a bootstrap-tool, although that
is completely different question. :)

Everything in Parallel would be interesting. Somebody posted a URL to an
paper on this and no more recursive make because it kills the dependancy
information, which I found very interesting.

--WjW
Received on Fri Apr 24 2015 - 09:30:22 UTC

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