amd64 -> armv6 -r302331 -> -r302412 re-cross-build (update): got "sh: ./make_keys: Exec format error" again for init_ketry.h in ncursesw

From: Mark Millard <markmi_at_dsl-only.net>
Date: Fri, 8 Jul 2016 00:23:55 -0700
[Before the below cross build/update attempt I updated my amd64 from -r302331 -> -r302412.]

Summary: It appears that WITHOUT_META_MODE= still needs to be forced for cross compiles at least sometimes in order to avoid "Exec format error". man src.conf only mentions WITHOUT_META_MODE= in one place:

>      WITH_DIRDEPS_BUILD
. . .
>              WITH_META_MODE (unless WITHOUT_META_MODE is set explicitly)
. . .
>              This must be set in the environment, make command line, or
>              /etc/src-env.conf, not /etc/src.conf.


In attempting to update my cross build (amd64 -> armv6) from -r302331 to -r302412 it failed with:

> --- init_keytry.h ---
> sh: ./make_keys: Exec format error
> *** [init_keytry.h] Error code 126
> 
> 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 missing-filemon=yes missing-meta=yes silent=yes verbose'
> .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

again.

This was based on:

> # more ~/sys_build_scripts.amd64-host/make_rpi2_nodebug_clang_bootstrap-amd64-host.sh 
> kldload -n filemon && \
> script ~/sys_typescripts/typescript_make_rpi2_nodebug_clang_bootstrap-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
> env __MAKE_CONF="/root/src.configs/make.conf" SRC_ENV_CONF="/root/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host" \
> WITH_META_MODE=yes \
> MAKEOBJDIRPREFIX="/usr/obj/clang" \
> make $*

and. . .

> # more ~/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host 
> TO_TYPE=armv6
> #
> KERNCONF=RPI2-NODBG
> TARGET=arm
> .if ${.MAKE.LEVEL} == 0
> TARGET_ARCH=${TO_TYPE}
> .export TARGET_ARCH
> .endif
> #
> WITH_CROSS_COMPILER=
> WITHOUT_SYSTEM_COMPILER=
> #
> #CPUTYPE=soft
> WITH_LIBCPLUSPLUS=
> WITH_BINUTILS_BOOTSTRAP=
> WITH_CLANG_BOOTSTRAP=
> WITH_CLANG=
> WITH_CLANG_IS_CC=
> WITH_CLANG_FULL=
> WITH_CLANG_EXTRAS=
> WITH_LLDB=
> #
> WITH_BOOT=
> WITHOUT_LIB32=
> WITHOUT_LIBSOFT=
> #
> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
> WITHOUT_GCC_BOOTSTRAP=
> WITHOUT_GCC=
> WITHOUT_GCC_IS_CC=
> WITHOUT_GNUCXX=
> #
> NO_WERROR=
> #WERROR=
> MALLOC_PRODUCTION=
> #
> WITH_DEBUG_FILES=
> #
> XCFLAGS+= -march=armv7-a -mcpu=cortex-a7
> XCXXFLAGS+= -march=armv7-a -mcpu=cortex-a7

make.conf was empty.

The earlier -r302331 cross build had WITH_LIBSOFT= in use. -r302412 is my first testing of WITHOUT_LIBSOFT= after rebuilding all ports to avoid libsoft.



===
Mark Millard
markmi at dsl-only.net
Received on Fri Jul 08 2016 - 05:24:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:06 UTC