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.mk /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 DreweryReceived on Wed Jun 15 2016 - 12:58:59 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC