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"

Reply via email to