On 6/15/16 1:36 AM, Mark Millard wrote: > On 2016-Jun-14, at 11:00 PM, Mark Millard <markmi at dsl-only.net> wrote: > >> [The following is after having updated and booted the host amd64 environment >> to -r301900. The activity reported on is cross building targeting a rpi2 >> (armv7-a/cortex-a7). It is trying to go from not haivng used >> WITH_META_MODE=yes last time I cross built to now using WITH_META_MODE=yes >> this time.] >> >> Again when the prior buildworld buildkernel installkernel installworld >> mergemaster sequence was by omitting WITH_META_MODE=yes and then a rebuild >> buildworld buildkernel was attempted using WITH_META_MODE=yes I got the "sh: >> ./make_keys: Exec format error" notice: >> >> >>> --- lib/ncurses/ncursesw__L --- >>> --- init_keytry.h --- >>> sh: ./make_keys: Exec format error >>> *** [init_keytry.h] Error code 126 >>>
Ah yes, this is a bit of a special case that requires cleaning first. I think it should only happen from previously bad builds though (missing recent fixes) rather than a cleanworld -> non-meta cross build -> meta cross-build. >>> make[4]: stopped in /usr/src/lib/ncurses/ncursesw >>> .ERROR_TARGET='init_keytry.h' >>> .ERROR_META_FILE='/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/init_keytry.h.meta' >>> .MAKE.LEVEL='4' >>> MAKEFILE='' >>> .MAKE.MODE='meta verbose missing-meta=yes silent=yes missing-filemon=yes >>> meta verbose missing-meta=yes silent=yes missing-filemon=yes meta verbose >>> missing-meta=yes silent=yes missing-filemon=yes meta verbose >>> missing-meta=yes silent=yes missing-filemon=yes meta verbose >>> missing-meta=yes silent=yes missing-filemon=yes' >>> .CURDIR='/usr/src/lib/ncurses/ncursesw' >>> .MAKE='make' >>> .OBJDIR='/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw' >>> .TARGETS='all' >>> DESTDIR='/usr/obj/clang/arm.armv6/usr/src/tmp' >>> LD_LIBRARY_PATH='' >>> MACHINE='arm' >>> MACHINE_ARCH='armv6' >>> MAKEOBJDIRPREFIX='/usr/obj/clang/arm.armv6' >>> MAKESYSPATH='/usr/src/share/mk' >>> MAKE_VERSION='20160606' >>> PATH='/usr/obj/clang/arm.armv6/usr/src/tmp/legacy/usr/sbin:/usr/obj/clang/arm.armv6/usr/src/tmp/legacy/usr/bin:/usr/obj/clang/arm.armv6/usr/src/tmp/legacy/bin:/usr/obj/clang/arm.armv6/usr/src/tmp/usr/sbin:/usr/obj/clang/arm.armv6/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin' >>> SRCTOP='/usr/src' >>> OBJTOP='/usr/obj/clang/arm.armv6/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 >>> /root/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host >>> /usr/src/share/mk/bsd.mkopt.mk /root/src.configs/make.conf >>> /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /etc/src.conf >>> /usr/src/lib/ncurses/ncursesw/Makefile >>> /usr/src/lib/ncurses/ncursesw/../ncurses/Makefile >>> /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk >>> /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk >>> /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.compiler.mk >>> /usr/src/lib/ncurses/ncursesw/../config.mk /usr/src/share/mk/bsd.lib.mk >>> /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/local.init.mk >>> /usr/src/share/mk/src.init.mk /usr/src/lib/ncurses/ncursesw/../Makefile.inc >>> /usr/src/lib/ncurses/ncursesw/../../Makefile.inc >>> /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk >>> /usr/src/share/mk/bsd.symver.mk /usr/src/share/mk/bsd.nls.mk >>> /usr/src/share/mk/bsd.files.m k /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk' >>> .PATH='. /usr/src/lib/ncurses/ncursesw >>> /usr/src/lib/ncurses/ncursesw/../ncurses >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/include >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/ncurses/base >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/ncurses/tinfo >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/ncurses/tty >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/ncurses/widechar >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/ncurses/trace >>> /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/man' >>> 1 error >> >> So I'm trying cleanworld using WITH_META_MODE=yes before trying buildworld >> buidlkernel using WITH_META_MODE=yes . . . >> >> I'll report later how this goes. >> >> >> === >> Mark Millard >> markmi at dsl-only.net > > The WITH_META_MODE=yes based re-cross-build after cleanworld worked fine. > > Immediately re-running the re-build using WITH_META_MODE=yes again also > worked fine. > > Rebuilding using WITH_META_MODE=yes yet again but after. . . > > To DESTDIR=/usr/obj/DESTDIRs/clang-rpi2-installkernelworld (-D for > mergemaster): > > installkernel > mergemaster -FUp [no use of WITH_META_MODE=yes for mergemaster] > installworld > mergemaster -FUPi [no use of WITH_META_MODE=yes for mergemaster] > check-old > delete-old > > also worked fine. > > So as far as I can tell a first cross-build buildworld use of > WITH_META_MODE=yes after having not used WITH_META_MODE=yes for the prior > cross-build buildworld is the only place in the sequence needing an explicit > cleanworld beforehand. > > Cross-builds do seem to be working using WITH_META_MODE=yes now, at least for > clang based cross-builds. > Thank you for testing and posting this! -- Regards, Bryan Drewery _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"