discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Cross compile for ARM with GCC 4.9


From: West, Nathan
Subject: Re: [Discuss-gnuradio] Cross compile for ARM with GCC 4.9
Date: Mon, 27 Feb 2017 11:00:33 -0500

This is the dual ABI problem. See https://gcc.gnu.org/onlinedocs/libstdc%2B%2B/manual/using_dual_abi.html

It was first reported to me June of last year (https://github.com/gnuradio/volk/issues/92). I tried to play around with the macro they define, but I could never get anything working (I think boost et al would need to be compiled with the macro to use the old ABI). For you I think you might be in luck... just compile GNU Radio with that _GLIBCXX_USE_CXX11_ABI=0. The downside is that you might need to recompile *everything* that touches a string, list, and vector with that macro defined.

I've found the best solution on a desktop OS is to install gcc5 and use it to build everything. If you really need gcc4 (for example, I keep it around for CUDA) then you should use Debian's alternatives system:

sudo update-alternatives --config gcc
sudo update-alternatives --config g++
sudo update-alternatives --config cc
sudo update-alternatives --config c++

And just switch back and forth between gcc4 and gcc5 depending on what you're doing that hour. It's annoying, but c'est la vie.

On Sat, Feb 25, 2017 at 8:48 PM, Cinaed Simson <address@hidden> wrote:
On 02/25/2017 07:56 AM, Bradley Conn (RIT Student) wrote:
> Hello,
>
> I am trying to add Gnu Radio as a static library to a Xilinx SDSoC
> project. SDSoC uses a special compiler and linker which is based off of
> gcc 4.9. The issue is  when it goes to link there are a bunch of errors
> like this
> /
> /
> /undefined reference to `std::__cxx11:: /.../
> /
> /
> /
> because when I cross compiled GnuRadio it used gcc 5.2 which includes
> the __cxx11 namespace to be more compatible with the c++ 11 standard. I
> was wondering if there was a way to compile the library (and its
> dependencies) with gcc 4.9. Or possibly some other workaround anyone
> knew about?

Possible work around:

1) build the gcc 4.9 cross compiler from source on your machine - see

   http://wiki.osdev.org/Building_GCC

2) use a VM and install Debian Jessie 8 which uses gcc-4.9. I presume
you're using Ubuntu - which is a fork of Debian - and very similar to
Ubuntu.

>
> When I compiled I used the openembedded environments provided here.
> http://gnuradio.org/data/sdk/

When I went to this URL it indicated there were no matching records found.


>
> Thank you!
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]