Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Jun 2016 21:55:56 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        "Simon J. Gerraty" <sjg@juniper.net>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: 11.0 -r301139: WITH_META_MODE=yes vs. "sh: ./make_keys: Exec format error"? [still true of -r301815]
Message-ID:  <55609B4E-DCC8-4666-BA15-17B6EF7D593F@dsl-only.net>
In-Reply-To: <4a2034a9-a2e1-d951-aecf-43e043c48d75@FreeBSD.org>
References:  <890D3808-1939-4BEA-886F-324EBA8C8671@dsl-only.net> <92116.1464890038@kaos.jnpr.net> <4a2034a9-a2e1-d951-aecf-43e043c48d75@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-Jun-2, at 11:11 AM, Bryan Drewery <bdrewery at FreeBSD.org> =
wrote:

> On 6/2/2016 10:53 AM, Simon J. Gerraty wrote:
>> BTW Mark, thanks very much for testing this.
>>=20
>>>> # grep make_keys =
~/sys_typescripts/typescript_make_rpi2_nodebug_clang_bootstrap-amd64-host-=
2016-06-01:15:17:28
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/make_keys
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncurses/make_keys
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/make_keys
>>>> sh: ./make_keys: Exec format error
>>>=20
>>> Note that ncursesw has two Building lines above with the same path =
listed.
>>=20
>> This build is still using the normal orchestration (tree walks etc)
>> so it it not at all out of the question for directories to be visited
>> more than once.
>>=20
>> If curious; you can add -dM to have make explain why it built it =
again
>> the 2nd time.
>> The output can be copious, so you might want to only enable it in
>> ncursesw
>> eg.
>>=20
>> .MAKEFLAGS: -dM
>>=20
>=20
> r297997 was the original fix for it. It is visited twice (build-tools
> and everything).  The problem came when I added .META to all suffix
> rules to work around the lack of default .META (the patch we're =
discussing).
>=20
> --=20
> Regards,
> Bryan Drewery

Summary: It looks like cross builds and WITH_META_MODE=3D still do not =
mix.

Example details follow.

I finally just updated my amd64 environment from -r301139 to . . .

> # uname -apKU
> FreeBSD FreeBSDx64 11.0-ALPHA3 FreeBSD 11.0-ALPHA3 #3 r301815M: Sat =
Jun 11 12:03:13 PDT 2016     =
root@FreeBSDx64:/usr/obj/clang/amd64.amd64/usr/src/sys/GENERIC-NODEBUG  =
amd64 amd64 1100116 1100116

So I then tried to update my rpi2 targeted cross build:

> Script started on Sat Jun 11 18:58:11 2016
> Command: env __MAKE_CONF=3D/root/src.configs/make.conf =
SRC_ENV_CONF=3D/root/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host =
WITH_META_MODE=3Dyes MAKEOBJDIRPREFIX=3D/usr/obj/clang make -j 5 =
buildworld buildkernel
. . .
> --- build-tools_lib/ncurses/ncurses ---
> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncurses/make_keys
> --- build-tools_rescue/rescue ---
> --- obj ---
> --- build-tools_lib/ncurses/ncursesw ---
> ** edit: BROKEN_LINKER 0
> --- build-tools_rescue/rescue ---
. . .
> --- build-tools_lib/ncurses/ncursesw ---
> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/make_keys

. . .
> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/init_keytry.h
> --- init_keytry.h ---
> sh: ./make_keys: Exec format error
> *** [init_keytry.h] Error code 126
>=20
> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
> 1 error
>=20
> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
> *** [lib/ncurses/ncursesw__L] Error code 2

Doing cleanworld instead of "-j 5 buildworld buildkernel" and then =
retrying "-j 5 buildworld buildkernel" resulted in the same sort of =
thing but for maketab instead:

> Script started on Sat Jun 11 19:38:48 2016
> Command: env __MAKE_CONF=3D/root/src.configs/make.conf =
SRC_ENV_CONF=3D/root/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host =
WITH_META_MODE=3Dyes MAKEOBJDIRPREFIX=3D/usr/obj/clang make -j 5 =
buildworld buildkernel
> --- buildworld ---
. . .
> --- ytab.h ---
> ln -sf awkgram.h ytab.h
> Building /usr/obj/clang/arm.armv6/usr/src/usr.bin/awk/maketab
. . .
> --- all_subdir_usr.bin ---
> Building /usr/obj/clang/arm.armv6/usr/src/usr.bin/awk/maketab

. . .
> =3D=3D=3D> share/doc/usd (all)
> --- all_subdir_sys ---
> ln -sf /usr/src/sys/boot/efi/loader/../../../arm/include machine
> --- all_subdir_usr.bin ---
> --- proctab.c ---
> sh: ./maketab: Exec format error
> *** [proctab.c] Error code 126
>=20
> make[4]: stopped in /usr/src/usr.bin/awk
> 1 error
>=20
> make[4]: stopped in /usr/src/usr.bin/awk
> *** [all_subdir_usr.bin/awk] Error code 2


=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?55609B4E-DCC8-4666-BA15-17B6EF7D593F>