From owner-svn-src-all@freebsd.org Mon Mar 6 19:32:18 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B8534CFB313 for ; Mon, 6 Mar 2017 19:32:18 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8883C14B7 for ; Mon, 6 Mar 2017 19:32:18 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: acba548a-02a3-11e7-ba57-8bc134ee460a X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.ore.mailhop.org (Halon) with ESMTPSA id acba548a-02a3-11e7-ba57-8bc134ee460a; Mon, 06 Mar 2017 19:32:46 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v26JWFKB001364; Mon, 6 Mar 2017 12:32:15 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1488828735.18764.43.camel@freebsd.org> Subject: Re: svn commit: r314709 - head From: Ian Lepore To: rgrimes@freebsd.org Cc: Bryan Drewery , Warner Losh , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Date: Mon, 06 Mar 2017 12:32:15 -0700 In-Reply-To: <201703061915.v26JFSSd089794@pdx.rh.CN85.dnsmgr.net> References: <201703061915.v26JFSSd089794@pdx.rh.CN85.dnsmgr.net> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2017 19:32:18 -0000 On Mon, 2017-03-06 at 11:15 -0800, 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 > > > > > ebsd > > > > > > .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. I'm aware that we officially only support building from current-1, but we've worked hard to do much better than that for many years. The only time I can think of it breaking in the last 10-12 years was late in the 10-current cycle we reached a point where I could no longer build 10-current on an 8-stable system.  That was a special case due to the cutover from gcc to clang and all the related changes.  (Even with that, I had it "almost working" but decided not to finish it and commit all the changes involved because they would have just gotten in the way of other modernization going on in the build system). The reality is, a lot of people rely on building current from current-2 systems for a variety of reasons, and it's worth putting some effort into supporting that. -- Ian