Problems building 11-stable/i386 with readonly /usr/src

Peter Jeremy peter at rulingia.com
Mon Feb 19 09:27:58 UTC 2018


On 2018-Feb-18 09:06:38 -0600, Kyle Evans <kevans at freebsd.org> wrote:
>On Sun, Feb 18, 2018 at 3:12 AM, Peter Jeremy <peter at 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).


[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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20180219/fbd70871/attachment.sig>


More information about the freebsd-stable mailing list