On Fri, Oct 4, 2013 at 11:00 AM, Brandon Ess <[email protected]> wrote:

> All,
>
> I'm trying to cross compile ORC so I may use it during compilation of the
> UHD driver and GNURADIO.
>
> When cross compiling on Ubuntu 12.04 x86-64 for ARM I get the following
> errors:
>
> *./configure --host=arm-linux-gnueabihf  --build=arm-linux-gnueabihf
> cxxflags="-mcpu=cortex-a8 -mfpu=neon -funsafe-math-optimizations
> -mfloat-abi=hard " cflags="-mcpu=cortex-a8 -mfpu=neon
> -funsafe-math-optimizations -mfloat-abi=hard "
>  --prefix=/opt/orc-arm-cross/orc-0.4.18/test-build*
>
> <output cut>
> *libtool: link: gcc -Wall -I.. -g -O2 -o .libs/generate-bytecode
> generate_bytecode-generate-bytecode.o  ../orc/.libs/liborc-0.4.so -lm
> -lrt -Wl,-rpath -Wl,/opt/orc-arm-cross/orc-0.4.18/test-build/lib*
> *../orc/.libs/liborc-0.4.so: undefined reference to
> `orc_arm_get_cpu_flags'*
> *collect2: ld returned 1 exit status*
> *make[2]: *** [generate-emulation] Error 1*
> *make[2]: *** Waiting for unfinished jobs....*
> *../orc/.libs/liborc-0.4.so: undefined reference to
> `orc_arm_get_cpu_flags'*
> <output cut>
>
> orc_arm_get_cpu_flags is defined in orcarm.h and all the headers are or
> $ORC_ROOT/orc but when it needs this one header is cannot find it. I've
> made sure #include orcarm.h is in orcarm.c but it cannot find it during
> compilation.
>
> So I then manually define it with: -Iorc/orcarm.h during the ./configure
> process and it still doesn't find it.
>
> ORC 0.4.18 compiles just fine natively on both x86-64 and ARM so my
> current workaround is to just compile natively on the ARM platform and copy
> over the necessary ARM files to the x86 cross compile environment so UHD
> and GNURADIO can use them.
>
> Any ideas why ORC won't cross compile?
>
> -Brandon
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
There's a couple of issues here. First, this isn't really the venue to
discuss building orc. Second, it sounds like you're current method is going
to result in you doing tons of sort of unnecessary work building a sysroots
with ARM versions of dependencies. To build UHD and GNU Radio you'll need
way more than just orc, in fact it's really on the list of things that
aren't strictly required.

Unless you have a good reason for not doing so, I would recommend using OE
for cross compiling. There's way more effort put in to making sure GNU
Radio builds in that environment than what you are currently doing. I
recently put up a wiki page with some brief instructions, but don't treat
it as a one stop shop as an oe guide, read their docs and faqs first.
http://gnuradio.org/redmine/projects/gnuradio/wiki/openembedded
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to