Date: Thu, 1 Jan 2015 18:14:31 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Ian Lepore <ian@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Garrett Cooper <ngie@FreeBSD.org> Subject: Re: svn commit: r276052 - head Message-ID: <9A1C084E-B491-4581-A21C-AAB82687C588@FreeBSD.org> In-Reply-To: <1420130463.85983.0.camel@freebsd.org> References: <201412220452.sBM4qPAx096443@svn.freebsd.org> <68874DE1-3EAE-4A4D-9760-7661DA7AE846@FreeBSD.org> <1420130463.85983.0.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On 01 Jan 2015, at 17:41, Ian Lepore <ian@freebsd.org> wrote: > > 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: >>> >>> Author: ngie >>> Date: Mon Dec 22 04:52:24 2014 >>> New Revision: 276052 >>> URL: https://svnweb.freebsd.org/changeset/base/276052 >>> >>> 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 == yes >>> doesn't manifest in build errors when building info pages >> .. >>> @@ -1398,6 +1403,16 @@ build-tools: .MAKE >>> ${MAKE} DIRPRFX=${_tool}/ depend && \ >>> ${MAKE} DIRPRFX=${_tool}/ all >>> .endfor >>> +.for _tool in \ >>> + ${_texinfo} >>> + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all)"; \ >>> + cd ${.CURDIR}/${_tool} && \ >>> + ${MAKE} DIRPRFX=${_tool}/ obj && \ >>> + ${MAKE} DIRPRFX=${_tool}/ depend && \ >>> + ${MAKE} DIRPRFX=${_tool}/ all && \ >>> + ${MAKE} DIRPRFX=${_tool}/ install DESTDIR=${WORLDTMP} >>> +.endfor >> >> Strangely, this hunk seems to work incorrectly for non-native builds. >> For example, I tried a TARGET=arm buildworld just now, and that dies >> with the following error: >> >> [...] >>>>> stage 2.3: build tools >> [...] >> ===> gnu/usr.bin/texinfo/makeinfo (obj,depend,all,install) >> [...] >> gzip -cn /usr/src/gnu/usr.bin/texinfo/makeinfo/../../../../contrib/texinfo/doc/makeinfo.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 >> >> 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: >> >> DEBUG: _tool=gnu/usr.bin/texinfo/makeinfo, WORLDTMP=/usr/obj/arm.arm/arm.arm/usr/src/tmp >> >> So for some strange reason, ${WORLDTMP} is incorrect at that point? I >> think something is appending one path component too many... >> >> -Dimitry >> > > try TARGET_ARCH=arm No, that does not help, unfortunately. The problem seems to be that in Makefile.inc1, TMAKE is passing MAKEOBJDIRPREFIX=${OBJTREE} via its environment, and this changes the value of WORLDTMP to an incorrect value. At first it looked like I could just force the correct WORLDTMP value via the command line instead, e.g. like this: Index: Makefile.inc1 =================================================================== --- Makefile.inc1 (revision 276480) +++ Makefile.inc1 (working copy) @@ -270,6 +270,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + WORLDTMP=${WORLDTMP} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ However, this leads to other problems further down the road, where it gets errors installing parts of libllvmsupport and tblgen. So at this point, non-native builds with MK_INFO=yes are broken. -Dimitry [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.26 iEYEARECAAYFAlSlgH4ACgkQsF6jCi4glqMQAgCfdC5Vc0HQ1FSfNabSL1ruZYfy vI0AoJttg1ffl94+TcOL8DvPLxWcA4nk =eCK+ -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9A1C084E-B491-4581-A21C-AAB82687C588>
