Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Mar 2017 16:29:55 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        Lawrence Stewart <lstewart@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: Deterministic rescue buildworld error with custom make.conf/src.conf/MAKEOBJDIRPREFIX
Message-ID:  <1489274995.40576.65.camel@freebsd.org>
In-Reply-To: <f81368cc-14bc-6fe8-9c57-c410615ebbfe@freebsd.org>
References:  <f81368cc-14bc-6fe8-9c57-c410615ebbfe@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2017-03-12 at 10:22 +1100, Lawrence Stewart wrote:
> 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
> _______________________________________________
> 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"

The MAKEOBJDIRPREFIX variable must be set in the environment, not in
make.conf or on the make command line (documented in build(7)).

-- Ian




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1489274995.40576.65.camel>