Peter Jeremy
2018-Feb-18 09:12 UTC
Problems building 11-stable/i386 with readonly /usr/src
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: ...>>> stage 4.3: building everything... ===> stand/zfs (all) Building /usr/obj/usr/src/stand/zfs/machine machine -> /usr/src/sys/i386/include Building /usr/obj/usr/src/stand/zfs/x86 x86 -> /usr/src/sys/x86/include Building /usr/obj/usr/src/stand/zfs/zfs.o Building /usr/obj/usr/src/stand/zfs/skein.o Building /usr/obj/usr/src/stand/zfs/skein_block.o Building /usr/obj/usr/src/stand/zfs/libzfsboot.a building static zfsboot library ===> stand/efi (all) machine -> /usr/src/sys/i386/include ln: machine: Read-only file system *** Error code 1 Stop. make[4]: stopped in /usr/src/stand/efi .ERROR_TARGET='machine' .ERROR_META_FILE='' .MAKE.LEVEL='4' MAKEFILE='' .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' _ERROR_CMD='.PHONY' .CURDIR='/usr/src/stand/efi' .MAKE='make' .OBJDIR='/usr/src/stand/efi' .TARGETS='all' DESTDIR='/usr/obj/usr/src/tmp' LD_LIBRARY_PATH='' MACHINE='i386' MACHINE_ARCH='i386' MAKEOBJDIRPREFIX='/usr/obj' MAKESYSPATH='/usr/src/share/mk' MAKE_VERSION='20170720' PATH='/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin' SRCTOP='/usr/src' OBJTOP='/usr/src' .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /etc/src-env.conf /usr/src/share/mk/bsd.mkopt.mk /etc/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk Makefile /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/stand/efi/../Makefile.inc /usr/src/stand/efi/../defs.mk /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.subdir.mk' .PATH='. /usr/src/stand/efi' *** Error code 1 -- 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/20180218/35fedf42/attachment.sig>
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
Bryan Drewery
2018-Feb-20 22:36 UTC
Problems building 11-stable/i386 with readonly /usr/src
On 2/18/18 1:12 AM, Peter Jeremy 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: > ... >>>> stage 4.3: building everything > ... > ===> stand/zfs (all) > Building /usr/obj/usr/src/stand/zfs/machine > machine -> /usr/src/sys/i386/include > Building /usr/obj/usr/src/stand/zfs/x86 > x86 -> /usr/src/sys/x86/include > Building /usr/obj/usr/src/stand/zfs/zfs.o > Building /usr/obj/usr/src/stand/zfs/skein.o > Building /usr/obj/usr/src/stand/zfs/skein_block.o > Building /usr/obj/usr/src/stand/zfs/libzfsboot.a > building static zfsboot library > ===> stand/efi (all) > machine -> /usr/src/sys/i386/include > ln: machine: Read-only file system > *** Error code 1 > > Stop. > make[4]: stopped in /usr/src/stand/efi > .ERROR_TARGET='machine' > .ERROR_META_FILE='' > .MAKE.LEVEL='4' > MAKEFILE='' > .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' > _ERROR_CMD='.PHONY' > .CURDIR='/usr/src/stand/efi' > .MAKE='make' > .OBJDIR='/usr/src/stand/efi'It's wanting to use .OBJDIR=.CURDIR. I'm thinking this is due to the bsd.init.mk abuse in stand/. I say "abuse" because bsd.init.mk has this comment and I've only been writing my logic with the assumption that the comment is valid, which I know Warner disagrees with.> # The include file <bsd.init.mk> includes <bsd.opts.mk>, > # ../Makefile.inc and <bsd.own.mk>; this is used at the > # top of all <bsd.*.mk> files that actually "build something"I'll try to get a fix in later today or tomorrow.> .TARGETS='all' > DESTDIR='/usr/obj/usr/src/tmp' > LD_LIBRARY_PATH='' > MACHINE='i386' > MACHINE_ARCH='i386' > MAKEOBJDIRPREFIX='/usr/obj' > MAKESYSPATH='/usr/src/share/mk' > MAKE_VERSION='20170720' > PATH='/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin' > SRCTOP='/usr/src' > OBJTOP='/usr/src' > .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /etc/src-env.conf /usr/src/share/mk/bsd.mkopt.mk /etc/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk Makefile /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/stand/efi/../Makefile.inc /usr/src/stand/efi/../defs.mk /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.subdir.mk' > .PATH='. /usr/src/stand/efi' > *** Error code 1 >-- Regards, Bryan Drewery -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20180220/89820197/attachment.sig>