Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Mar 2017 11:13:37 -0800
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Ian Lepore <ian@freebsd.org>, rgrimes@freebsd.org
Cc:        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:  <d871157c-7ded-4158-2984-92cb8c5dec0b@FreeBSD.org>
In-Reply-To: <1488826707.18764.34.camel@freebsd.org>
References:  <201703061832.v26IWFw1089542@pdx.rh.CN85.dnsmgr.net> <1488826707.18764.34.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--FtITRsg1kKcg9pA8CE2RLrO7GCBSetE9i
Content-Type: multipart/mixed; boundary="KiqaAEmxfGQVLJ635roo52N4fntnh5xPR";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: Ian Lepore <ian@freebsd.org>, rgrimes@freebsd.org
Cc: 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>
Message-ID: <d871157c-7ded-4158-2984-92cb8c5dec0b@FreeBSD.org>
Subject: Re: svn commit: r314709 - head
References: <201703061832.v26IWFw1089542@pdx.rh.CN85.dnsmgr.net>
 <1488826707.18764.34.camel@freebsd.org>
In-Reply-To: <1488826707.18764.34.camel@freebsd.org>

--KiqaAEmxfGQVLJ635roo52N4fntnh5xPR
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

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 <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
>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>>>>> =3D=3D=3D=3D
>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>>>>> --- 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=3D???????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=3Dsymlinks)
>>
>> 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.
>> =20
>=20
> 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).
>=20
> 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.
>=20
> -- Ian
>=20

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+=3D -I${.CURDIR} -I${SRCTOP}/sys/crypto/sha2
> CFLAGS+=3D -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


--=20
Regards,
Bryan Drewery


--KiqaAEmxfGQVLJ635roo52N4fntnh5xPR--

--FtITRsg1kKcg9pA8CE2RLrO7GCBSetE9i
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJYvbTiAAoJEDXXcbtuRpfPnLYH/jljvgjudvZGnm+7k7liXhV0
nHDDNRXWs+hPBGEZWJDUYoMyEWu75uIKnJwruNVhc2S0sF2KeA97OJX7eVQPkueB
2LEAjRI/033GfgErovrlNWN2x7n3Z5OtB2Jyxju0F3IXjIN6GzZnS6ZqvXCRErdc
F+cDJ3FpQyV2qDDprhZ+tQIQ5P6kQU3PF8IXY/6KE9G7azmiE6fLR0mYj7v7b+3D
mACaPobbhi4qoe1xmNdmRWl6xF8f4TLfSmlDkfOeznmYXaR9d76/DAzA7nZXMPVy
KuZqmlgneSP5UqhJZqWzedNKVa2FTxxA55qk/gRYKrTQUJEEx3v2mAa1rqF7Q8A=
=MeUf
-----END PGP SIGNATURE-----

--FtITRsg1kKcg9pA8CE2RLrO7GCBSetE9i--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d871157c-7ded-4158-2984-92cb8c5dec0b>