From owner-freebsd-current@freebsd.org Sun Mar 12 13:25:05 2017 Return-Path: Delivered-To: freebsd-current@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 0F78AD094A5 for ; Sun, 12 Mar 2017 13:25:05 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 782A613A4; Sun, 12 Mar 2017 13:25:03 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from thor.intern.walstatt.dynvpn.de ([92.225.12.90]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MhhwJ-1ca5DQ22t9-00MqCW; Sun, 12 Mar 2017 14:24:55 +0100 Date: Sun, 12 Mar 2017 14:24:49 +0100 From: "O. Hartmann" To: Ian Lepore Cc: Lawrence Stewart , FreeBSD Current Subject: Re: Deterministic rescue buildworld error with custom make.conf/src.conf/MAKEOBJDIRPREFIX Message-ID: <20170312142449.3f412b89@thor.intern.walstatt.dynvpn.de> In-Reply-To: <1489286252.40576.68.camel@freebsd.org> References: <1489274995.40576.65.camel@freebsd.org> <0aa75720-7670-9b64-a536-9958ff332eea@freebsd.org> <1489286252.40576.68.camel@freebsd.org> Organization: WALSTATT User-Agent: OutScare 3.1415926 X-Operating-System: ImNotAnOperatingSystem 3.141592527 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/KoPQyiImqJ2tKbvkNoPCPgd"; protocol="application/pgp-signature" X-Provags-ID: V03:K0:deNO5Bli5/kU8r7SlxGudc6Rhb5SCWZfKmtsVzgBkEfubowUweJ /LDlU4G2A+tiqVOuGEC1VUo5CwPHMZMHCR96J5EB1EOE76IGLMEkvdzM5EVjCYf1C2P+A8N j82GZHfuORMO2gare3wk36V3myikXm2BO+FGImMrO+GWHTyNVG5vxIZr9oiCtAlILumlt1r uC12ifrKFLARRL9ZvmfqQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:KiKHltQIg3g=:5/oD1dmYBbJ6zYhciR7d5V BeCorXB7wwTqxr8pkmN5rYCk4r3j8QgkZ8H2PEf6mPLxnt3tsfZbe3NUNJ9oC9VwJcVLx+mCb q8N9+1uQD7qsEcjsTu7V9KvYhjuUqWR/pWG50fLX6KUqQElMet1Vc2DEZ+H41EWHf8Y5aHEzH 8f68Zm9FCU5c3882NC58LpF8US10TpzHHeIcx1f7H5RIrvlHclnZ5Nh2iecweBTrttvJihZ6I T42mfIRC0u4Q8wiyyYtzgCdeCe58x/foA85qWJcUi+8DjrQV13bPGO0FNOCYlKvM/jh7e6n9u ElOwxqCuUAFrD9XkKcgUkbGUrIX6V8VdaIH7hbsfK0BOu65Y0t4H8k2igomQ+cEE2+9u8fIOR PLG1mZe9rbNq5bzeF3jz6CxusmHoLbsfbsQVHebcF3aHdN+vKAx8HsG5YLoMoxiwPAL8wJjsa c+imXorpTMWJFIk55Ol6d+QBJ3Hk0itQkd38SmPZ89cHBxcwVrBRth2g04n/XsXppvuC7aor+ ZsPu9siv3XdnB429feXeJ6gWABvKnS/0LXvNbBEoK3ual8GErwwI3Tt9v0SWoJqpx1zxuJWvb mLqPgQupk7ManDucQrSnRlZQpW1HQb+qJhIVkFDRxH+Y4Ypr9HwbnbLfKcxElqjdZ58qSpucH DzMmVPzjaYhy17FDXXucz3Eg7rIGPjC28CMVHmVgogGOAphv5E5XfgkZ9Qtq5tTrfCMqtx25A xTTNgE80AUl3Vgr0pr8KybJ5xjP9gtOA2t7COS7H0Q4/mtyMRkMPP1eEYno= X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Mar 2017 13:25:05 -0000 --Sig_/KoPQyiImqJ2tKbvkNoPCPgd Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Am Sat, 11 Mar 2017 19:37:32 -0700 Ian Lepore schrieb: > On Sun, 2017-03-12 at 13:27 +1100, Lawrence Stewart wrote: > > Hi Ian, > >=20 > > On 12/03/2017 10:29, Ian Lepore wrote: =20 > > >=20 > > > On Sun, 2017-03-12 at 10:22 +1100, Lawrence Stewart wrote: =20 > > > >=20 > > > > Hi all, > > > >=20 > > > > I'm unable to complete buildworld with 2 recent svn revs I've > > > > tried > > > > (r314838 and r315059). I'm building for a slightly resource > > > > constrained > > > > production system so am specifying custom settings and a > > > > different > > > > obj > > > > tree location so I can copy it to the target system. The error > > > > persists > > > > after an "rm -rf /usr/obj/*", and if parallel building is > > > > disabled. > > > >=20 > > > > The underlying build system built from r314838 via simple "make > > > > -C > > > > /usr/src -s -j6 buildworld buildkernel" built and installed fine, > > > > so > > > > the > > > > problem seems to be around the use of the build customisations. > > > >=20 > > > > Any clues? > > > >=20 > > > > Cheers, > > > > Lawrence > > > >=20 > > > >=20 > > > > root@builder-head-amd64:/usr/src # cat cust_make.conf > > > > KERNCONF=3DGENERIC-NODEBUG > > > > MALLOC_PRODUCTION=3DYES > > > >=20 > > > > root@builder-head-amd64:/usr/src # cat cust_src.conf > > > > WITHOUT_PROFILE=3D1 > > > >=20 > > > > root@builder-head-amd64:/usr/src # make > > > > __MAKE_CONF=3D/usr/src/cust_make.conf > > > > SRCCONF=3D/usr/src/cust_src.conf > > > > MAKEOBJDIRPREFIX=3D/usr/obj/cust buildworld buildkernel > > > > [...] > > > > MK_AUTO_OBJ=3Dno > > > > MK_TESTS=3Dno=A0=A0UPDATE_DEPENDFILE=3Dno=A0=A0_RECURSING_CRUNCH=3D1 > > > > CC=3D"cc -target x86_64-unknown-freebsd12.0 > > > > --sysroot=3D/usr/obj/cust/usr/src/tmp > > > > -B/usr/obj/cust/usr/src/tmp/usr/bin > > > > -O2 -pipe=A0=A0=A0-std=3Dgnu99=A0=A0=A0=A0-Qunused-arguments=A0=A0"= =A0=A0CXX=3D"c++=A0=A0- > > > > target > > > > x86_64-unknown-freebsd12.0 --sysroot=3D/usr/obj/cust/usr/src/tmp > > > > -B/usr/obj/cust/usr/src/tmp/usr/bin -O2 -pipe -Qunused-arguments > > > > -Wno-c++11-extensions=A0=A0"=A0=A0make .MAKE.MODE=3D"normal curdirO= k=3Dyes" > > > > .MAKE.META.IGNORE_PATHS=3D""=A0=A0-f rescue.mk exe > > > > cc -target x86_64-unknown-freebsd12.0 > > > > --sysroot=3D/usr/obj/cust/usr/src/tmp > > > > -B/usr/obj/cust/usr/src/tmp/usr/bin > > > > -O2 -pipe=A0=A0=A0-std=3Dgnu99=A0=A0=A0=A0-Qunused-arguments=A0=A0= =A0-nostdlib -Wl,-dc > > > > -r > > > > -o > > > > cat.lo cat_stub.o > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/cat/cat.o > > > > cc: error: no such file or directory: > > > > '/usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/cat/cat.o' > > > > *** Error code 1 > > > >=20 > > > > There appear to be a lot of missing .o files under the rescue obj > > > > tree: > > > >=20 > > > > root@builder-head-amd64:/usr/src # find > > > > /usr/obj/cust/usr/src/rescue/rescue//usr -type f > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/sh/mksyntax.o > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/sh/mksyntax > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/sh/mknodes.o > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/sh/mknodes > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/csh/sh.err.h > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/csh/tc.const.h > > > > /usr/obj/cust/usr/src/rescue/rescue//usr/src/bin/csh/gethost > > > >=20 > > > > compared with an obj tree on a different head system: > > > >=20 > > > > find /usr/obj/usr/src/rescue/rescue/usr/ -type f | wc -l > > > > =A0=A0=A0=A01552 > > > > _______________________________________________ > > > > freebsd-current@freebsd.org mailing list > > > > https://lists.freebsd.org/mailman/listinfo/freebsd-current > > > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@fre > > > > ebsd > > > > .org" =20 > > > The MAKEOBJDIRPREFIX variable must be set in the environment, not > > > in > > > make.conf or on the make command line (documented in build(7)). =20 > > Your assertion seems at odds with my past experience and my reading > > of > > the man page... from build(7): > >=20 > > The build may be controlled by defining make(1) variables > > described in the ENVIRONMENT section below, and by the > > variables documented in make.conf(5). > >=20 > > ... which indicates they are make variables, not environment > > variables > > specifically. As a concrete example, TARGET and DESTDIR are listed > > under > > the "ENVIRONMENT" section of the man page, yet "EXAMPLES" shows: > >=20 > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0make TARGET=3Dsparc64 buildworld > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0make TARGET=3Dsparc64 DESTDIR=3D/clien= ts/sparc64 installworld > >=20 > > I've certainly always set build vars documented in the "ENVIRONMENT" > > section of the man page on the make command line without issue. > > Pretty > > sure I've set MAKEOBJDIRPREFIX from the make command line also in the > > past, though perhaps it has been working for me "by accident" and a > > documentation tweak is in order if the distinction you make is in > > fact > > relevant... > >=20 > > Cheers, > > Lawrence > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd > > .org" =20 >=20 > You cited everything from build(7) except the part most on-point for > the problem you're having: >=20 > MAKEOBJDIRPREFIX > Defines the prefix for directory names in the tree of > built objects.=A0=A0Defaults to /usr/obj if not defined.=A0=A0Thi= s variable > should only be set in the environment and not via /etc/make.conf = or the > command line. >=20 > -- Ian >=20 Shouldn't it then be "... This variable must only be set in the environment= "? Every other attempt will fail. It would also be nice to have some more information abou= t the WHY. Using poudriere, one can set this variable within a per-set configuration f= ile aiming for a jail built upon sources on a local machine. Sometimes its really confusin= g when shell environment comes into play and when it all stays within the make domain. Kind regards, O. Hartmann --=20 O. Hartmann Ich widerspreche der Nutzung oder =DCbermittlung meiner Daten f=FCr Werbezwecke oder f=FCr die Markt- oder Meinungsforschung (=A7 28 Abs. 4 BDS= G). --Sig_/KoPQyiImqJ2tKbvkNoPCPgd Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iLUEARMKAB0WIQQZVZMzAtwC2T/86TrS528fyFhYlAUCWMVMIQAKCRDS528fyFhY lLvoAf9+9XreZoerLjULu+HFb0jaFBvn67xauk1mFOatAIwzNgzLKfzI2ldS0TiZ GNrsX5tjsulx5Tx1nKfCFJdN+1uqAf93RRixLvSkM0GIob70ykfPs5teOu9n/OGG iuYZ2Z+QA3ps0LX5rwXTi8XzpK1H7DoSGQo0KRCKQIFmbQwxROTC =a7+9 -----END PGP SIGNATURE----- --Sig_/KoPQyiImqJ2tKbvkNoPCPgd--