Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jul 2016 14:13:26 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   11.0: amd64 -> powerpc64/armv6 -r302331 -> -r302412 re-cross-builds (updates): got "sh: ./make_keys: Exec format error" again for init_ketry.h in ncursesw
Message-ID:  <4861A92C-902A-4935-8ECB-7DF105BB5355@dsl-only.net>
In-Reply-To: <99A8A423-1EC4-4B3A-922D-9CF37CD2DD86@dsl-only.net>
References:  <0394F424-484D-43B3-9C7D-8C6A8E8709F0@dsl-only.net> <99A8A423-1EC4-4B3A-922D-9CF37CD2DD86@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
[Sending to freebsd-ppc this time, now that I've tried such a cross =
build.]
[Before the below cross build/update attempt I updated my amd64 from =
-r302331 -> -r302412.]

Summary: It appears that WITHOUT_META_MODE=3D 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=3D 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.

Any cross build to an incompatible TARGET_ARCH likely has this sort of =
issue at certain specific places in the WITH_META_MODE build if they are =
rebuilt instead of skipped.

In attempting to update my cross build (amd64 -> armv6 or powerpc64) =
from -r302331 to -r302412 it failed with the likes of (powerpc64 example =
using powerpc64-gcc to build based a libc++ based 11.0):

> --- init_keytry.h ---
> sh: ./make_keys: Exec format error
> . . .
> --- lib/ncurses/ncursesw__L ---
> *** [init_keytry.h] Error code 126
>=20
> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
> .ERROR_TARGET=3D'init_keytry.h'
> =
.ERROR_META_FILE=3D'/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/lib/ncur=
ses/ncursesw/init_keytry.h.meta'
> .MAKE.LEVEL=3D'4'
> MAKEFILE=3D''
> .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes=
 verbose'
> .CURDIR=3D'/usr/src/lib/ncurses/ncursesw'
> .MAKE=3D'make'
> =
.OBJDIR=3D'/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/lib/ncurses/ncurs=
esw'
> .TARGETS=3D'all'
> DESTDIR=3D'/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp'
> LD_LIBRARY_PATH=3D''
> MACHINE=3D'powerpc'
> MACHINE_ARCH=3D'powerpc64'
> MAKEOBJDIRPREFIX=3D'/usr/obj/xtoolchain/powerpc.powerpc64'
> MAKESYSPATH=3D'/usr/src/share/mk'
> MAKE_VERSION=3D'20160606'
> =
PATH=3D'/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/legacy/usr/sbin:=
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/legacy/usr/bin:/usr/obj/=
xtoolchain/powerpc.powerpc64/usr/src/tmp/legacy/bin:/usr/obj/xtoolchain/po=
werp
> =
c.powerpc64/usr/src/tmp/usr/sbin:/usr/obj/xtoolchain/powerpc.powerpc64/usr=
/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin'
> SRCTOP=3D'/usr/src'
> OBJTOP=3D'/usr/obj/xtoolchain/powerpc.powerpc64/usr/src'
> .MAKE.MAKEFILES=3D'/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.powerpc64-xtoolchain.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=3D'. /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

This was based on (powerpc64 example):

> # more =
~/sys_build_scripts.amd64-host/make_powerpc64vtsc_nodebug_incl_clang_xtool=
chain-amd64-host.sh=20
> kldload -n filemon && \
> script =
~/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_incl_clang_xtoolch=
ain-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
> env __MAKE_CONF=3D"/root/src.configs/make.conf" =
SRC_ENV_CONF=3D"/root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host=
" \
> WITH_META_MODE=3Dyes \
> MAKEOBJDIRPREFIX=3D"/usr/obj/xtoolchain" \
> make $*

and (powerpc64 example). . .

> # more ~/src.configs/src.conf.powerpc64-xtoolchain.amd64-host=20
> TO_TYPE=3Dpowerpc64
> TOOLS_TO_TYPE=3D${TO_TYPE}
> VERSION_CONTEXT=3D11.0
> #
> KERNCONF=3DGENERIC64vtsc-NODEBUG
> TARGET=3Dpowerpc
> .if ${.MAKE.LEVEL} =3D=3D 0
> TARGET_ARCH=3D${TO_TYPE}
> .export TARGET_ARCH
> .endif
> #
> WITHOUT_CROSS_COMPILER=3D
> WITHOUT_SYSTEM_COMPILER=3D
> #
> WITH_LIBCPLUSPLUS=3D
> WITHOUT_BINUTILS_BOOTSTRAP=3D
> WITHOUT_CLANG_BOOTSTRAP=3D
> WITH_CLANG=3D
> WITH_CLANG_IS_CC=3D
> WITH_CLANG_FULL=3D
> WITH_CLANG_EXTRAS=3D
> WITH_LLDB=3D
> #
> WITH_BOOT=3D
> # powerpc64 LIB32 builds via gcc 4.9 or later variants that I've tried
> # but the LIB32 does not work [crtbeginS code problem(s)]
> WITHOUT_LIB32=3D
> #
> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D
> WITHOUT_GCC_BOOTSTRAP=3D
> WITHOUT_GCC=3D
> WITHOUT_GCC_IS_CC=3D
> WITHOUT_GNUCXX=3D
> #
> NO_WERROR=3D
> #WERROR=3D
> MALLOC_PRODUCTION=3D
> #
> WITH_DEBUG_FILES=3D
> #
> #
> # For TO (so-called "cross") stages . . .
> # So-called-cross via ${TO_TYPE}-xtoolchain-gcc/${TO_TYPE}-gcc. . .
> # TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related binutils. . =
.
> #
> CROSS_TOOLCHAIN=3D${TO_TYPE}-gcc
> X_COMPILER_TYPE=3Dgcc
> CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/
> .if ${.MAKE.LEVEL} =3D=3D 0
> =
XCC=3D/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-gc=
c
> =
XCXX=3D/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-g=
++
> =
XCPP=3D/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-c=
pp
> .export XCC
> .export XCXX
> .export XCPP
> XAS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as
> XAR=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar
> XLD=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld
> XNM=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm
> XOBJCOPY=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy
> XOBJDUMP=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump
> XRANLIB=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib
> XSIZE=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size
> #NO-SUCH: XSTRINGS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings
> XSTRINGS=3D/usr/local/bin/${TOOLS_TO_TYPE}-freebsd-strings
> .export XAS
> .export XAR
> .export XLD
> .export XNM
> .export XOBJCOPY
> .export XOBJDUMP
> .export XRANLIB
> .export XSIZE
> .export XSTRINGS
> .endif
> #
> #
> # =46rom based on clang (via system). . .
> #
> .if ${.MAKE.LEVEL} =3D=3D 0
> CC=3D/usr/bin/clang
> CXX=3D/usr/bin/clang++
> CPP=3D/usr/bin/clang-cpp
> .export CC
> .export CXX
> .export CPP
> .endif

make.conf was empty.



=3D=3D=3D
Mark Millard
markmi at dsl-only.net






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4861A92C-902A-4935-8ECB-7DF105BB5355>