From owner-freebsd-current@freebsd.org Sat Mar 11 23:23:40 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 313E4D08A8B for ; Sat, 11 Mar 2017 23:23:40 +0000 (UTC) (envelope-from lstewart@freebsd.org) Received: from lauren.room52.net (lauren.room52.net [210.50.193.198]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE96B1097 for ; Sat, 11 Mar 2017 23:23:39 +0000 (UTC) (envelope-from lstewart@freebsd.org) Received: from lgwl-lstewart2.corp.netflix.com (c110-22-60-167.eburwd6.vic.optusnet.com.au [110.22.60.167]) by lauren.room52.net (Postfix) with ESMTPSA id 3F6927E84A for ; Sun, 12 Mar 2017 10:23:28 +1100 (EST) To: FreeBSD Current From: Lawrence Stewart Subject: Deterministic rescue buildworld error with custom make.conf/src.conf/MAKEOBJDIRPREFIX Message-ID: Date: Sun, 12 Mar 2017 10:22:05 +1100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=2.4 required=5.0 tests=DNS_FROM_AHBL_RHSBL, UNPARSEABLE_RELAY autolearn=no version=3.3.2 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on lauren.room52.net 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: Sat, 11 Mar 2017 23:23:40 -0000 Hi all, 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. 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. Any clues? Cheers, Lawrence root@builder-head-amd64:/usr/src # cat cust_make.conf KERNCONF=GENERIC-NODEBUG MALLOC_PRODUCTION=YES root@builder-head-amd64:/usr/src # cat cust_src.conf WITHOUT_PROFILE=1 root@builder-head-amd64:/usr/src # make __MAKE_CONF=/usr/src/cust_make.conf SRCCONF=/usr/src/cust_src.conf MAKEOBJDIRPREFIX=/usr/obj/cust buildworld buildkernel [...] MK_AUTO_OBJ=no MK_TESTS=no UPDATE_DEPENDFILE=no _RECURSING_CRUNCH=1 CC="cc -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/cust/usr/src/tmp -B/usr/obj/cust/usr/src/tmp/usr/bin -O2 -pipe -std=gnu99 -Qunused-arguments " CXX="c++ -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/cust/usr/src/tmp -B/usr/obj/cust/usr/src/tmp/usr/bin -O2 -pipe -Qunused-arguments -Wno-c++11-extensions " make .MAKE.MODE="normal curdirOk=yes" .MAKE.META.IGNORE_PATHS="" -f rescue.mk exe cc -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/cust/usr/src/tmp -B/usr/obj/cust/usr/src/tmp/usr/bin -O2 -pipe -std=gnu99 -Qunused-arguments -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 There appear to be a lot of missing .o files under the rescue obj tree: 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 compared with an obj tree on a different head system: find /usr/obj/usr/src/rescue/rescue/usr/ -type f | wc -l 1552