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 <[email protected]>
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
> > [email protected]
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to