Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jan 2014 18:09:21 -0800
From:      Tim Kientzle <kientzle@freebsd.org>
To:        Timo Buhrmester <fstd.lkml@gmail.com>
Cc:        FreeBSD Questions Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: cross-building ARM world on amd64
Message-ID:  <31AA6E3F-FEC4-4F69-9954-553E76871B16@freebsd.org>
In-Reply-To: <20140112221305.GB2687@frozen.localdomain>
References:  <20140112185955.GA29733@frozen.localdomain> <CAFYkXjkh9Fs3pUmk29brKkm3p682%2BLXbx2uPTZ_xcXwLYq9=gg@mail.gmail.com> <0DC39714-91FA-4C27-AC0B-A8F52B1EAD38@freebsd.org> <20140112214258.GA2687@frozen.localdomain> <20140112221305.GB2687@frozen.localdomain>

next in thread | previous in thread | raw e-mail | index | archive | help
According to lib/ncurses/Makefile, make_keys is a requirement
for build-tools.  build-tools builds things for the host machine.

> build-tools: make_hash make_keys
>=20
> make_keys: make_keys.c names.c ncurses_def.h ${HEADERS}
>         ${CC} -o $@ ${CFLAGS} ${NCURSES_DIR}/ncurses/tinfo/make_keys.c

Looking through your full log, it looks like it is getting built
during the build-tools phase:

> =3D=3D=3D> lib/ncurses/ncurses (obj,build-tools)
...
> cc -o make_keys -O2 -pipe -I. =
-I/usr/cross/obj/arm.armv6/usr/src/lib/ncurses/ncurses/../ncurses =
-I/usr/src/lib/ncurses/ncurses/../ncurses =
-I/usr/src/lib/ncurses/ncurses/../ncurses =
-I/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include =
-I/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ncurses -Wall =
-DNDEBUG -DHAVE_CONFIG_H -DFREEBSD_NATIVE -DTERMIOS -std=3Dgnu99   =
-I/usr/cross/obj/arm.armv6/usr/src/tmp/legacy/usr/include =
/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ncurses/tinfo/make_k=
eys.c

And is then getting built again for some reason:

> =3D=3D=3D> lib/ncurses/ncurses (obj,depend,all,install)

....

> cc  -o make_keys -O -pipe  -I. =
-I/usr/cross/obj/usr/src/lib/ncurses/ncurses/../ncurses =
-I/usr/src/lib/ncurses/ncurses/../ncurses =
-I/usr/src/lib/ncurses/ncurses/../ncurses =
-I/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include =
-I/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ncurses -Wall =
-DNDEBUG -DHAVE_CONFIG_H -DFREEBSD_NATIVE -DTERMIOS -std=3Dgnu99 =
-Qunused-arguments -Wsystem-headers -Werror -Wall -Wno-format-y2k -W =
-Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes =
-Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body =
-Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value =
-Wno-parentheses-equality -Wno-unused-function -Wno-conversion =
/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ncurses/tinfo/make_k=
eys.c
> ./make_keys keys.list > init_keytry.h
> ./make_keys: Exec format error

I can't find anything in this part of the tree that's been touched
more recently than last June.  I know I've done many cross-builds
since then, so there must be something peculiar in your
environment.  If we can figure out what that is, maybe we
can adjust things so other people don't stumble on this.

Can you search your /usr/obj to see if you have multiple
copies of make_keys somewhere?

It might also be worth scrutinizing your environment;
you may have some environment variables that are
surprising the build process.

Of course, getting a new /usr/src tree is always a
worthwhile thing to try.

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31AA6E3F-FEC4-4F69-9954-553E76871B16>