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@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
signature.asc
Description: OpenPGP digital signature