svn commit: r314709 - head

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


On 3/6/17 11:17 AM, Bryan Drewery wrote:
> 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.

I go over the various phases of the build and the bootstrapping involved
at http://www.bsdcan.org/2016/schedule/events/716.en.html

> 
>>>
>>> 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/fa7b045a/attachment.sig>


More information about the svn-src-head mailing list