Date: Mon, 19 Feb 2018 15:35:00 -0700 From: Warner Losh <imp@bsdimp.com> To: Peter Jeremy <peter@rulingia.com> Cc: Kyle Evans <kevans@freebsd.org>, Warner Losh <imp@freebsd.org>, Bryan Drewery <bdrewery@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org> Subject: Re: Problems building 11-stable/i386 with readonly /usr/src Message-ID: <CANCZdfr1v54hSYuKUzMKGYeWZ%2BfTsFc7dFoF39MQPHL7GCcg9w@mail.gmail.com> In-Reply-To: <20180219092740.GT3353@server.rulingia.com> References: <20180218091204.GR3353@server.rulingia.com> <CACNAnaH_pcT=bTk_q3hYubeWtGQOd37Cq4FEDuh2vsvHtbewYw@mail.gmail.com> <20180219092740.GT3353@server.rulingia.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 19, 2018 at 2:27 AM, Peter Jeremy <peter@rulingia.com> wrote: > On 2018-Feb-18 09:06:38 -0600, Kyle Evans <kevans@freebsd.org> wrote: > >On Sun, Feb 18, 2018 at 3:12 AM, Peter Jeremy <peter@rulingia.com> wrote: > >> Sometime between r329122 and r329157, my 11-stable i386 box stopped > >> being able to buildworld with a readonly /usr/src. I've been updating > >> regularly but the problem still remains at r329450. I don't have any > >> problems building the same tree on amd64 or building head on i386 or > >> amd64. Does anyone have any ideas? > >> > >> Starting from an empty /usr/obj, the failure is: > >> ... > > > >This would have come in with the recent MFC of imp@'s rototilling. I > >seem to recall some build system funkiness that put .OBJDIR inside the > >src tree inconsistently before recent-ish changes in head. CC'ing > >bdrewery@ and imp@ in hopes they have an idea of how to handle this in > >stable/11. The offending ln invocation would be this one: > >https://svnweb.freebsd.org/base/stable/11/stand/defs.mk?view=markup#l178 > > Thanks for that. I added some debug code to stand/defs.mk and confirmed > that in stand/efi, the ${_ILINKS} target is invoked in /usr/src/stand/efi, > whereas in (eg) stand/zfs, it is invoked in /usr/obj/usr/src/stand/efi. > The main difference is that SUBDIR is empty on i386 but non-empty on amd64. > If I add i386 to the main build list (see patch below) then it all works. > I'm not sure why efi isn't built on i386 because boot1, libefi and loader > all support i386. (This obviously is a work-around rather than a real fix > but might be an option if the relevant head changes can't be MFC'd > immediately). > i386 does not support efi at all. We likely shouldn't include efi at all in the subdirs at the top level as a better workaround. Warner > > [Caution: copy and paste, tabs have been converted to spaces] > Index: stand/efi/Makefile > =================================================================== > --- stand/efi/Makefile (revision 329477) > +++ stand/efi/Makefile (working copy) > @@ -14,7 +14,8 @@ > > .if ${MACHINE_CPUARCH} == "aarch64" || \ > ${MACHINE_CPUARCH} == "amd64" || \ > - ${MACHINE_CPUARCH} == "arm" > + ${MACHINE_CPUARCH} == "arm" || \ > + ${MACHINE_CPUARCH} == "i386" > SUBDIR+= libefi loader boot1 > .endif > > -- > Peter Jeremy >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfr1v54hSYuKUzMKGYeWZ%2BfTsFc7dFoF39MQPHL7GCcg9w>
