Date: Mon, 6 Mar 2017 11:15:28 -0800 (PST) From: "Rodney W. Grimes" <freebsd@pdx.rh.CN85.dnsmgr.net> To: Ian Lepore <ian@freebsd.org> Cc: rgrimes@freebsd.org, Bryan Drewery <bdrewery@freebsd.org>, Warner Losh <imp@bsdimp.com>, src-committers <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r314709 - head Message-ID: <201703061915.v26JFSSd089794@pdx.rh.CN85.dnsmgr.net> In-Reply-To: <1488826707.18764.34.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[ 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. > > 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 -- Rod Grimes rgrimes@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703061915.v26JFSSd089794>