Bug 226074

Summary: i386 can no longer build from a read-only 11/stable src tree
Product: Base System Reporter: lgfbsd
Component: miscAssignee: Kyle Evans <kevans>
Status: Closed FIXED    
Severity: Affects Only Me CC: emaste, kevans, lgfbsd
Priority: --- Keywords: patch, regression
Version: 11.1-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
svn(1) diff against stable/11 none

Description lgfbsd 2018-02-20 22:01:33 UTC
I get this error:

[root@lowell-desk /usr/src/stand/efi]# make all
machine -> /usr/src/sys/i386/include
ln: machine: Read-only file system
*** Error code 1

Stop.
make: stopped in /usr/src/stand/efi

This appears to be be due to changes made by kevans on February 11, merging the efi branch into stable/11. A similar problem does not exist on amd64.
Comment 1 lgfbsd 2018-02-20 22:28:56 UTC
On second thought, my amd64 build had a writeable src tree, so I cannot confirm that I would not have had a similar problem.
Comment 2 Kyle Evans freebsd_committer freebsd_triage 2018-02-20 22:35:19 UTC
Created attachment 190837 [details]
svn(1) diff against stable/11

Hi,

Can you try giving this a shot in your currently read-only tree?

Thanks,

Kyle Evans
Comment 3 lgfbsd 2018-02-21 04:55:52 UTC
Comment on attachment 190837 [details]
svn(1) diff against stable/11

With this change, the build completes. Unfortunately, I don't have the chance to check more than that at the moment.
Comment 4 lgfbsd 2018-02-27 15:06:22 UTC
I've rebuilt everything on my target system, and it works fine.

This change seems like a workaround, but the target system doesn't support EFI boot anyway.
Comment 5 Kyle Evans freebsd_committer freebsd_triage 2018-02-27 15:07:52 UTC
(In reply to lgfbsd from comment #4)

Right, we're likely going to stop building EFI stuff on i386, since it's not useful anyways and would need someone to actively work on supporting it.
Comment 6 Kyle Evans freebsd_committer freebsd_triage 2018-02-27 15:17:59 UTC
Ah, imp@ came up with another solution:https://svnweb.freebsd.org/base?view=revision&revision=330004

I still think we should not have efi in SUBDIR for i386, but this will get MFC'd soon and fix the immediate problem.
Comment 7 commit-hook freebsd_committer freebsd_triage 2018-02-28 18:31:44 UTC
A commit references this bug:

Author: kevans
Date: Wed Feb 28 18:31:36 UTC 2018
New revision: 330123
URL: https://svnweb.freebsd.org/changeset/base/330123

Log:
  MFC r330004: Add NO_OBJ to those directories that don't make anything.

  For directories that don't many anything, add NO_OBJ=t just before we
  include bsd.init.mk. This prevents them from creating an OBJ
  directory. In addition, prevent defs.mk from creating the machine
  related links in these cases. They aren't needed and break, at least
  on stable, the read-only src tree build.

  PR:		226074

Changes:
_U  stable/11/
  stable/11/stand/Makefile.i386
  stable/11/stand/arm/Makefile
  stable/11/stand/defs.mk
  stable/11/stand/efi/Makefile
  stable/11/stand/i386/Makefile
  stable/11/stand/mips/Makefile
  stable/11/stand/powerpc/Makefile
  stable/11/stand/sparc64/Makefile