Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Jan 2015 12:18:46 -0500
From:      Jeremy Brown <mischif@mischivous.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Cross-Compiling RPi Ports From amd64 Using Native Toolchain
Message-ID:  <CAGL1beDrmHo9fpC4%2BE1jtoOfe7JmWnEH6mXpRsUjGfnDV5gkBw@mail.gmail.com>
In-Reply-To: <02C43C8A-E9BB-4E59-8442-FC382689D941@kientzle.com>
References:  <CAGL1beBRzB7%2B5Ncbtb380kAyBqVb6eq-nZxMcVnJHyh4HbGwqw@mail.gmail.com> <CAGL1beANgaJFiFcjEzq9jxM0JDginQhX_%2B_UGbgkHBf79VOtJw@mail.gmail.com> <CAGL1beCSQtCRFFz4ZFH0ZWBygqLBHmVw6kY0xmD0At%2BGzwmHCQ@mail.gmail.com> <02C43C8A-E9BB-4E59-8442-FC382689D941@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Okay, so I've run make toolchain, copied it over to my chroot and tried to
run make configure again, but the make still fails at the "checking whether
we are cross compiling" stage; I've checked config.log and it seems that
the cross-compiler can compile the test file (the return code is 0), but
when it tries to execute it the return code is 134 and I get the ELF
interpreter error again. I tried symlinking /libexec to
/usr/obj/usr/src/tmp/usr/libexec, with no success. Is it possible that the
toolchain isn't targeting the correct architecture? Won't env -u TARGET -u
TARGET_ARCH keep make from knowing what it's supposed to target and build
for x64 instead?

-Jeremy

On Sat, Jan 3, 2015 at 2:39 PM, Tim Kientzle <tim@kientzle.com> wrote:

>
> > On Jan 2, 2015, at 7:42 PM, Jeremy Brown <mischif@mischivous.com> wrote=
:
> >
> > One additional thing: I checked my toolchain and did see that some of m=
y
> > programs (ar, as, cc, gcc, ld, ranlib) are statically linked, whereas t=
he
> > rest are dynamically linked, including cpp and nm which also gave me th=
e
> > ELF interpreter error. So I'll change my question somewhat - if I use t=
he
> > command given on the qemu page (env -u TARGET -u TARGET_ARCH make -j 4
> > toolchain) instead of the one provided by crochet (make XDEV=3D${XDEV}
> > XDEV_ARCH=3D${XDEV_ARCH} WITH_GCC=3D1 WITH_GCC_BOOTSTRAP=3D1 WITHOUT_CL=
ANG=3D1
> > WITHOUT_CLANG_BOOTSTRAP=3D1 WITHOUT_CLANG_IS_CC=3D1 WITHOUT_TESTS=3D1 x=
dev),
> > would I be more likely to succeed in cross-compiling my ports and will =
I
> be
> > able to use this toolchain to build the kernel and world with crochet?
>
> You should install both and use them for different purposes:
>
> Crochet uses the =E2=80=98xdev=E2=80=99 tools *only* for compiling the U-=
Boot boot
> loader.  (It does *not* use it for building kernel and world.  The
> standard FreeBSD build infrastructure automatically builds appropriate
> cross-compilers as needed for kernel and world.)
>
> Tim
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGL1beDrmHo9fpC4%2BE1jtoOfe7JmWnEH6mXpRsUjGfnDV5gkBw>