From owner-svn-src-head@freebsd.org Mon Mar 6 19:33:23 2017 Return-Path: Delivered-To: svn-src-head@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 AF990CFB3C9 for ; Mon, 6 Mar 2017 19:33:23 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (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 9221816E6 for ; Mon, 6 Mar 2017 19:33:23 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: acbfcb6d-02a3-11e7-b3c2-c9f38144898e 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 outbound2.ore.mailhop.org (Halon) with ESMTPSA id acbfcb6d-02a3-11e7-b3c2-c9f38144898e; 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 v26JXKJn001370; Mon, 6 Mar 2017 12:33:20 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1488828800.18764.44.camel@freebsd.org> Subject: Re: svn commit: r314709 - head From: Ian Lepore To: Bryan Drewery , rgrimes@freebsd.org Cc: Warner Losh , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Date: Mon, 06 Mar 2017 12:33:20 -0700 In-Reply-To: References: <201703061832.v26IWFw1089542@pdx.rh.CN85.dnsmgr.net> <1488826707.18764.34.camel@freebsd.org> 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-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2017 19:33:23 -0000 On Mon, 2017-03-06 at 11:13 -0800, Bryan Drewery wrote: > On 3/6/17 10:58 AM, Ian Lepore wrote: > > > > 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). > > > > 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. > > > > -- Ian > > > We use some special hacks in some places.  Such as most of the > elftoolchain build.  It just symlinks the minimal headers it needs > into > its .OBJDIR and uses -I${.OBJDIR} to pick them up.  This is done > rather > than the legacy method so that we don't pollute all of the > bootstrapping > with these headers; we really want the system headers for all of > bootstrapping where possible since we are building *current native > system tools*. > > libmd is already violating this by including some source directories > directly, but they should be harmless since they are really just > prototypes for the libmd that is being built. > > > > > CFLAGS+= -I${.CURDIR} -I${SRCTOP}/sys/crypto/sha2 > > CFLAGS+= -I${SRCTOP}/sys/crypto/skein > In the case of the current bootstrap failure, it's probably more than > just this 1 function that is causing problems, but what I'm > suggesting is at > https://people.freebsd.org/~bdrewery/patches/libmd-sys-md5.h.patch > > I've got a build underway with that patch and it's far beyond the point where it was dying (which was almost-immediately before the patch). -- Ian