Bug 226074 - i386 can no longer build from a read-only 11/stable src tree
Summary: i386 can no longer build from a read-only 11/stable src tree
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 11.1-STABLE
Hardware: Any Any
: --- Affects Only Me
Assignee: Kyle Evans
URL:
Keywords: patch, regression
Depends on:
Blocks:
 
Reported: 2018-02-20 22:01 UTC by lgfbsd
Modified: 2018-02-28 18:31 UTC (History)
3 users (show)

See Also:


Attachments
svn(1) diff against stable/11 (255 bytes, patch)
2018-02-20 22:35 UTC, Kyle Evans
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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 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 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 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 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