Date: Thu, 1 Jan 2015 10:42:38 -0800 From: Garrett Cooper <yaneurabeya@gmail.com> To: Dimitry Andric <dim@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers <src-committers@freebsd.org>, Garrett Cooper <ngie@FreeBSD.org>, Ian Lepore <ian@FreeBSD.org> Subject: Re: svn commit: r276052 - head Message-ID: <CF7A718E-4B6D-4F1F-A0CA-E3127F8EDCC2@gmail.com> In-Reply-To: <CE0B8F8D-264D-4EC8-A5DB-FEA49652E19B@gmail.com> References: <201412220452.sBM4qPAx096443@svn.freebsd.org> <68874DE1-3EAE-4A4D-9760-7661DA7AE846@FreeBSD.org> <1420130463.85983.0.camel@freebsd.org> <9A1C084E-B491-4581-A21C-AAB82687C588@FreeBSD.org> <1420133565.85983.5.camel@freebsd.org> <AC80C56B-46E9-4831-9B5F-976E28498F1D@FreeBSD.org> <CE0B8F8D-264D-4EC8-A5DB-FEA49652E19B@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_17517AC4-BB38-49AE-AF72-032EBD55C542 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On Jan 1, 2015, at 10:38, Garrett Cooper <yaneurabeya@gmail.com> wrote: > On Jan 1, 2015, at 9:50, Dimitry Andric <dim@FreeBSD.org> wrote: >=20 >> On 01 Jan 2015, at 18:32, Ian Lepore <ian@FreeBSD.org> wrote: >>>=20 >>> On Thu, 2015-01-01 at 18:14 +0100, Dimitry Andric wrote: >>>> On 01 Jan 2015, at 17:41, Ian Lepore <ian@freebsd.org> wrote: >>>>>=20 >>>>> On Thu, 2015-01-01 at 16:50 +0100, Dimitry Andric wrote: >>>>>> On 22 Dec 2014, at 05:52, Garrett Cooper <ngie@FreeBSD.org> = wrote: >>>>>>>=20 >>>>>>> Author: ngie >>>>>>> Date: Mon Dec 22 04:52:24 2014 >>>>>>> New Revision: 276052 >>>>>>> URL: https://svnweb.freebsd.org/changeset/base/276052 >>>>>>>=20 >>>>>>> Log: >>>>>>> Build selective portions of gnu/usr.bin/texinfo as part of = build-tools to >>>>>>> ensure that building on a host without makeinfo (i.e. a host = where >>>>>>> make delete-old -DWITHOUT_INFO was run), then building with = MK_INFO =3D=3D yes >>>>>>> doesn't manifest in build errors when building info pages >>>>>> .. >>>>>>> @@ -1398,6 +1403,16 @@ build-tools: .MAKE >>>>>>> ${MAKE} DIRPRFX=3D${_tool}/ depend && \ >>>>>>> ${MAKE} DIRPRFX=3D${_tool}/ all >>>>>>> .endfor >>>>>>> +.for _tool in \ >>>>>>> + ${_texinfo} >>>>>>> + ${_+_}@${ECHODIR} "=3D=3D=3D> ${_tool} = (obj,depend,all)"; \ >>>>>>> + cd ${.CURDIR}/${_tool} && \ >>>>>>> + ${MAKE} DIRPRFX=3D${_tool}/ obj && \ >>>>>>> + ${MAKE} DIRPRFX=3D${_tool}/ depend && \ >>>>>>> + ${MAKE} DIRPRFX=3D${_tool}/ all && \ >>>>>>> + ${MAKE} DIRPRFX=3D${_tool}/ install = DESTDIR=3D${WORLDTMP} >>>>>>> +.endfor >>>>>>=20 >>>>>> Strangely, this hunk seems to work incorrectly for non-native = builds. >>>>>> For example, I tried a TARGET=3Darm buildworld just now, and that = dies >>>>>> with the following error: >>>>>>=20 >>>>>> [...] >>>>>>>>> stage 2.3: build tools >>>>>> [...] >>>>>> =3D=3D=3D> gnu/usr.bin/texinfo/makeinfo (obj,depend,all,install) >>>>>> [...] >>>>>> gzip -cn = /usr/src/gnu/usr.bin/texinfo/makeinfo/../../../../contrib/texinfo/doc/make= info.1 > makeinfo.1.gz >>>>>> sh /usr/src/tools/install.sh -s -o root -g wheel -m 555 = makeinfo /usr/obj/arm.arm/arm.arm/usr/src/tmp/usr/bin/makeinfo >>>>>> install: /usr/obj/arm.arm/arm.arm/usr/src/tmp/usr/bin/makeinfo: = No such file or directory >>>>>> *** Error code 71 >>>>>>=20 >>>>>> Specifically, the /usr/obj/arm.arm/arm.arm directory is = incorrect, there >>>>>> should be only one "arm.arm" in that path. I don't really = understand >>>>>> how that value comes to pass, though. When I put an echo = statement just >>>>>> before the make install, which shows the values of ${_tool} and >>>>>> ${WORLDTMP}, it prints: >>>>>>=20 >>>>>> DEBUG: _tool=3Dgnu/usr.bin/texinfo/makeinfo, = WORLDTMP=3D/usr/obj/arm.arm/arm.arm/usr/src/tmp >>>>>>=20 >>>>>> So for some strange reason, ${WORLDTMP} is incorrect at that = point? I >>>>>> think something is appending one path component too many... >>>>>>=20 >>>>>> -Dimitry >>>>>>=20 >>>>>=20 >>>>> try TARGET_ARCH=3Darm >>>>=20 >>>> No, that does not help, unfortunately. The problem seems to be = that in >>>> Makefile.inc1, TMAKE is passing MAKEOBJDIRPREFIX=3D${OBJTREE} via = its >>>> environment, and this changes the value of WORLDTMP to an incorrect >>>> value. >>>>=20 >>>> At first it looked like I could just force the correct WORLDTMP = value >>>> via the command line instead, e.g. like this: >>>>=20 >>>> Index: 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 >>>> --- Makefile.inc1 (revision 276480) >>>> +++ Makefile.inc1 (working copy) >>>> @@ -270,6 +270,7 @@ >>>> TMAKE=3D MAKEOBJDIRPREFIX=3D${OBJTREE} \ >>>> ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ >>>> TARGET=3D${TARGET} TARGET_ARCH=3D${TARGET_ARCH} \ >>>> + WORLDTMP=3D${WORLDTMP} \ >>>> DESTDIR=3D \ >>>> BOOTSTRAPPING=3D${OSRELDATE} \ >>>> SSP_CFLAGS=3D \ >>>>=20 >>>> However, this leads to other problems further down the road, where = it >>>> gets errors installing parts of libllvmsupport and tblgen. >>>>=20 >>>> So at this point, non-native builds with MK_INFO=3Dyes are broken. >>>>=20 >>>> -Dimitry >>>>=20 >>>=20 >>> You seem to be implying that the whole process of cross building is >>> broken, but it's not. I do this all day long every day. "make >>> TARGET_ARCH=3Darm [make targets and other vars here]" works. Do you = have >>> something in make.conf or src.conf causing problems? >>=20 >> No, just MK_INFO=3Dyes, as I said. That is what Garrett tried to fix = in >> this commit, but which only works for native builds. >>=20 >> I'll be coming up with a fix shortly. >=20 > OBJTREE is being populated with TARGET.TARGET_ARCH twice=85 That=92s = the bug. >=20 > Unfortunately this commit only made this issue apparent. Sorry for not = testing with a non-native build :(... I suspect this will fix it. Going to do a tinderbox run then I=92ll put = it out for review: Index: 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 --- Makefile.inc1 (revision 276492) +++ Makefile.inc1 (working copy) @@ -267,8 +267,7 @@ MK_LLDB=3Dno MK_TESTS=3Dno =20 # build-tools stage -TMAKE=3D MAKEOBJDIRPREFIX=3D${OBJTREE} \ - ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ +TMAKE=3D ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f = Makefile.inc1 \ TARGET=3D${TARGET} TARGET_ARCH=3D${TARGET_ARCH} \ DESTDIR=3D \ BOOTSTRAPPING=3D${OSRELDATE} \ --Apple-Mail=_17517AC4-BB38-49AE-AF72-032EBD55C542 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJUpZUeAAoJEMZr5QU6S73eU/4IAIpoTYVNHQnjBZ2ARbv3M9kx bWtuVb/6Lyzwf+sRQaqfCiTMGv/PNitb7U3AQWsuKsD4aYlsCCLkYzZDPUIb+KHe EOP6oJnbZ/vqs2ixTtnshifc+0sSYz1OuoPqSbez0UzW38X74BH0hSvSjeeOhAZZ 5GpoJY2OBfen4tJt1kfnrafPEgmtb5LZ+sVIgfHecVvBMy64B5wGMF5Yhgl49PJ3 8qRNG9xjeY4iAcQ+cMCpAxHcn/At1CQhQRgr6cBrCoSDqBLBPJozvDJIOWNKJ9xz vWr6j8vmGNfj3njivuGyv1QGEdC7En3Gh3+sGDV7CJjtLU3ulxlUMmyU+AOFMkA= =bjgR -----END PGP SIGNATURE----- --Apple-Mail=_17517AC4-BB38-49AE-AF72-032EBD55C542--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CF7A718E-4B6D-4F1F-A0CA-E3127F8EDCC2>