svn commit: r314709 - head

Bryan Drewery bdrewery at FreeBSD.org
Mon Mar 6 19:17:22 UTC 2017


On 3/6/17 11:15 AM, Rodney W. Grimes wrote:
> [ Charset ISO-8859-1 unsupported, converting... ]
>> On Mon, 2017-03-06 at 10:32 -0800, Rodney W. Grimes wrote:
>>> [ Charset ISO-8859-1 unsupported, converting... ]
>>>>
>>>> On Sun, 2017-03-05 at 19:12 -0800, Bryan Drewery wrote:
>>>>>
>>>>> On 3/5/17 3:41 PM, Warner Losh wrote:
>>>>>>
>>>>>>
>>>>>> On Sun, Mar 5, 2017 at 2:16 PM, Bryan Drewery <bdrewery at freebsd
>>>>>> .org
>>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Author: bdrewery
>>>>>>> Date: Sun Mar??5 21:16:50 2017
>>>>>>> New Revision: 314709
>>>>>>> URL: https://svnweb.freebsd.org/changeset/base/314709
>>>>>>>
>>>>>>> Log:
>>>>>>> ? Fix bootstrapping mtree after r313404 for older systems.
>>>>>>>
>>>>>>> ? r313404 made libnetbsd require sha384.h from libmd.??Libmd
>>>>>>> added it in
>>>>>>> ? r292782.??Update BOOTSTRAPPING to account for this.
>>>>>>>
>>>>>>> ? Reported by:??bde
>>>>>>> ? Reviewed by:??ngie
>>>>>>>
>>>>>>> Modified:
>>>>>>> ? head/Makefile.inc1
>>>>>>>
>>>>>>> Modified: head/Makefile.inc1
>>>>>>> =============================================================
>>>>>>> ====
>>>>>>> =============
>>>>>>> --- head/Makefile.inc1??Sun Mar??5 19:56:20
>>>>>>> 2017????????(r314708)
>>>>>>> +++ head/Makefile.inc1??Sun Mar??5 21:16:50
>>>>>>> 2017????????(r314709)
>>>>>>> @@ -1618,10 +1618,12 @@ ${_bt}-usr.bin/m4: ${_bt}-
>>>>>>> lib/libopenbsd
>>>>>>> ?${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4
>>>>>>> ?.endif
>>>>>>>
>>>>>>> -.if ${BOOTSTRAPPING} < 1000026
>>>>>>> -_nmtree=???????lib/libnetbsd \
>>>>>> I've been trying to document the bootstrapping stuff inline
>>>>>> like
>>>>>>
>>>>>> # r313404 made libnetbsd require libmd
>>>>> Definitely.??I forgot about that.??I think my change is
>>>>> incomplete
>>>>> and
>>>>> need to chase down a 2nd failure report.??I'll add the comment
>>>>> once
>>>>> that
>>>>> is figured out.
>>>>>
>>>> I tracked this down to the fact that the prototype
>>>>
>>>> ? char * MD5FileChunk(const char *, char *, off_t, off_t);
>>>>
>>>> does not exist in /usr/include/sys/md5.h on older systems. ?I don't
>>>> see
>>>> any straightforward way to declare that a header file from the
>>>> /usr/include hierarchy is a bootstrap item that needs a newer
>>>> version
>>>> from the source tree being compiled. ?It looks like such a header
>>>> would
>>>> have to go into the obj/.../tmp/legacy/usr/include to get used in
>>>> the
>>>> boostrap compile, I just don't see how you get a file installed
>>>> there
>>>> early enough in bootstrap.
>>> One way around this is to use the old concept of /usr/include
>>> symlinks
>>> into the src tree, not sure if you can still do that or not, but
>>> something like
>>> (cd /usr/src/include; make install SHARED=symlinks)
>>>
>>> A bootstrapping regresssion test I use to run was to rm -r
>>> /usr/include/*
>>> before a buildworld run, that would find these issues so they could
>>> be fixed before they become forgotten.
>>> ?
>>
>> Making my live 10-stable system's /usr/include have symlinks into a 11-
>> or 12- source tree is just not an option in any way. ?The first
>> question would be "which source tree" because I have like a dozen of
>> them, not a single one of them rooted at /usr/src (which is an empty
>> dir).
> 
> I dont know that the support of CUrrent -2 building -current with
> a bootstraping include issue is ever going to be workable.  You
> could try to build a proper include tree someplace to use, this
> can be done with
> (cd; usr/src/include; make install DESTDIR=/my/new/tree)  This
> well not touch your /usr/include, but give you a proper include tree,
> now the work is to get buildworld to use that include tree.
> 
> If buildworld has degnerated to using stuff out of /usr/include
> that also needs to be fixed ASAP.
> 

buildworld using /usr/include is an intended feature to support
cross-building and running tools in the build that interface with the
current kernel and not the kernel being built.

>>
>> This can't be the first time in 30+ years that system header files had
>> to participate in the process of bootstrapping early build tools, but I
>> don't see any machinery in Makefile.inc1 for dealing with it.
> 
> Happens often, hence why I had that regression test.   But bootstrapping
> on Current-2 has never been supported and probably never well be supported.
> 
> 
>> -- Ian
> 


-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20170306/c8314e76/attachment.sig>


More information about the svn-src-head mailing list