Skip site navigation (1)Skip section navigation (2)
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>