I’ve tried to build gnuradio under debian sid, and it fails during
linking. Debian has changed the DSO linking defaults:
http://wiki.debian.org/ToolChain/DSOLinking
My first guess is, this is causing the linkage problem. Compiling with
gcc-4.4 is no option, because it will not link with libboost then.
If you have compiled with gcc-4.5 already, and found a quick fix, or no
problems, or any other outcome, please let us know?
Gr. Sim
On 24-03-11 08:56, Sim IJskes wrote:
I’ve tried to build gnuradio under debian sid, and it fails during
linking. Debian has changed the DSO linking defaults:
ToolChain/DSOLinking - Debian Wiki
My first guess is, this is causing the linkage problem. Compiling with
gcc-4.4 is no option, because it will not link with libboost then.
If you have compiled with gcc-4.5 already, and found a quick fix, or no
problems, or any other outcome, please let us know?
Compiling from tag v3.3.1
The error is:
/bin/bash …/…/libtool --tag=CXX --mode=link g++ -g -O2 -Wall
-Woverloaded-virtual -pthread -o usrp_rx_cfile usrp_rx_cfile.o
…/…/gr-usrp/src/libgnuradio-usrp.la -L/usr/lib
-lboost_program_options-mt
libtool: link: g++ -g -O2 -Wall -Woverloaded-virtual -pthread -o
.libs/usrp_rx_cfile usrp_rx_cfile.o
…/…/gr-usrp/src/.libs/libgnuradio-usrp.so -L/usr/lib
-lboost_program_options-mt -pthread
/usr/bin/ld: usrp_rx_cfile.o: undefined reference to symbol
‘gr_top_block::gr_top_block(std::basic_string<char,
std::char_traits, std::allocator > const&)’
/usr/bin/ld: note: ‘gr_top_block::gr_top_block(std::basic_string<char,
std::char_traits, std::allocator > const&)’ is defined in
DSO
//home/sim/gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core-3.3.1.so.0
so try adding it to the linker command line
//home/sim/gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core-3.3.1.so.0:
could not read symbols: Invalid operation
On 24-03-11 12:42, Sim IJskes wrote:
problems, or any other outcome, please let us know?
I’ve identified the missing libraries and put them in the makefile:
gnuradio/gr-usrp/apps/Makefile:
LIBS =
//home/sim/gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core-3.3.1.so.0
//home/sim/gnuradio/gnuradio/usrp/host/lib/.libs/libusrp-3.3.1.so.0
I’m sure this is not the way to do it, but i’m no libtool autoconf
master, so i’m hoping for help here…
After this ‘fix’ gnuradio compiles under debian sid with gcc-4.5
Gr. Sim
On Thu, Mar 24, 2011 at 7:03 AM, Sim IJskes [email protected] wrote:
gcc-4.4 is no option, because it will not link with libboost then.
//home/sim/gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core-3.3.1.so.0
//home/sim/gnuradio/gnuradio/usrp/host/lib/.libs/libusrp-3.3.1.so.0
I’m sure this is not the way to do it, but i’m no libtool autoconf master,
so i’m hoping for help here…
After this ‘fix’ gnuradio compiles under debian sid with gcc-4.5
Gr. Sim
Thanks for the report! I’ll try to get a real fix in this weekend.
Tom
On 24-03-11 15:33, Tom R. wrote:
I've identified the missing libraries and put them in the makefile:
gnuradio/gr-usrp/apps/Makefile:
Thanks for the report! I’ll try to get a real fix in this weekend.
Perfect. Could you post a diff? So i can apply it to the local tree
here, and include it in the patch i will send to bdale for the debian
package.
Gr. Sim
On 24-03-11 15:33, Tom R. wrote:
gcc-4.4 is no option, because it will not link with libboost
LIBS =
//home/sim/gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core-3.3.1.so.0
//home/sim/gnuradio/gnuradio/usrp/host/lib/.libs/libusrp-3.3.1.so.0
I'm sure this is not the way to do it, but i'm no libtool autoconf
master, so i'm hoping for help here...
After this 'fix' gnuradio compiles under debian sid with gcc-4.5
A solution somewhat higher up the automake logic:
LDADD =
$(USRP_LA)
$(GNURADIO_CORE_LA)
$(GR_USRP_LA)
$(BOOST_LDFLAGS)
$(BOOST_PROGRAM_OPTIONS_LIB)
Maybe i can paste this directly into Makefile.am. Does anybody know how
to have automake regenerate the Makefile.in / Makefile again, locally in
the directory?
Gr. Sim
On Tue, Mar 29, 2011 at 4:02 AM, Sim IJskes [email protected] wrote:
My first guess is, this is causing the linkage problem.
After this ‘fix’ gnuradio compiles under debian sid with gcc-4.5
Maybe i can paste this directly into Makefile.am. Does anybody know how to
have automake regenerate the Makefile.in / Makefile again, locally in the
directory?
Gr. Sim
Great! Thanks for tracking that down. Looks like a potentially easy
solution
to the problem.
Tom
On 29-03-11 10:02, Sim IJskes wrote:
$(BOOST_PROGRAM_OPTIONS_LIB)
Maybe i can paste this directly into Makefile.am. Does anybody know how
to have automake regenerate the Makefile.in / Makefile again, locally in
the directory?
OK, as an example of self-help: just run make.
Gr. Sim
ZZ
On 29-03-11 15:31, Tom R. wrote:
Great! Thanks for tracking that down. Looks like a potentially easy
solution to the problem.
Tom
diff --git a/gr-usrp/apps/Makefile.am b/gr-usrp/apps/Makefile.am
index 0f3a21b…a83e9f1 100644
— a/gr-usrp/apps/Makefile.am
+++ b/gr-usrp/apps/Makefile.am
@@ -31,8 +31,9 @@ AM_CPPFLAGS =
GR_USRP_LA=$(top_builddir)/gr-usrp/src/libgnuradio-usrp.la
For compiling outside the tree, these will get fished out by
pkgconfig
LDADD = \
The diff is against another git tree, i’m not sure if you need to be
carefull here.
Gr. Sim
Sim IJskes wrote in post #989801:
On 29-03-11 15:31, Tom R. wrote:
Great! Thanks for tracking that down. Looks like a potentially easy
solution to the problem.
Tom
diff --git a/gr-usrp/apps/Makefile.am b/gr-usrp/apps/Makefile.am
index 0f3a21b…a83e9f1 100644
— a/gr-usrp/apps/Makefile.am
+++ b/gr-usrp/apps/Makefile.am
@@ -31,8 +31,9 @@ AM_CPPFLAGS =
GR_USRP_LA=$(top_builddir)/gr-usrp/src/libgnuradio-usrp.la
For compiling outside the tree, these will get fished out by
pkgconfig
LDADD = \
The diff is against another git tree, i’m not sure if you need to be
carefull here.
Gr. Sim
Hello,
I am still facing the gnuradio build error. I have the new Makefile.am
under ~gr-usrp/apps/Makefile.am
But still when I run make under gr-usrp/apps/, I get the following error
:
"gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core.so:
undefined reference to `boost::system::get_system_category()’ "
Any idea how to fix it ?
Thanks
Kiran
Kiran C. wrote in post #1016742:
Sim IJskes wrote in post #989801:
On 29-03-11 15:31, Tom R. wrote:
Great! Thanks for tracking that down. Looks like a potentially easy
solution to the problem.
Tom
diff --git a/gr-usrp/apps/Makefile.am b/gr-usrp/apps/Makefile.am
index 0f3a21b…a83e9f1 100644
— a/gr-usrp/apps/Makefile.am
+++ b/gr-usrp/apps/Makefile.am
@@ -31,8 +31,9 @@ AM_CPPFLAGS =
GR_USRP_LA=$(top_builddir)/gr-usrp/src/libgnuradio-usrp.la
For compiling outside the tree, these will get fished out by
pkgconfig
LDADD = \
The diff is against another git tree, i’m not sure if you need to be
carefull here.
Gr. Sim
Hello,
I am still facing the gnuradio build error. I have the new Makefile.am
under ~gr-usrp/apps/Makefile.am
But still when I run make under gr-usrp/apps/, I get the following error
:
"gnuradio/gnuradio/gnuradio-core/src/lib/.libs/libgnuradio-core.so:
undefined reference to `boost::system::get_system_category()’ "
Any idea how to fix it ?
Thanks
Kiran
Hi,
After struggling for many hours building gnuradio, I was able to finally
fix the issue.
You have change the Makefile.am under the location :
~/gnuradio/gr-usrp/apps/
##Before
LDADD =
$(BOOST_LDFLAGS)
$(BOOST_PROGRAM_OPTIONS_LIB)
$(GR_USRP_LA)
##After
LDADD =
$(GNURADIO_CORE_LA)
$(USRP_LA)
$(GR_USRP_LA)
$(BOOST_LDFLAGS)
$(BOOST_PROGRAM_OPTIONS_LIB)
$(BOOST_SYSTEM_LIB)
$(BOOST_THREAD_LIB)
If you get similar error while building gr-audio/examples/c++/, you will
have to make similar changes under the Makefile.am, something like this
##Add this in the Makefile.am
LDADD =
$(GNURADIO_CORE_LA)
$(USRP_LA)
$(GR_USRP_LA)
$(BOOST_LDFLAGS)
$(BOOST_PROGRAM_OPTIONS_LIB)
$(BOOST_SYSTEM_LIB)
$(BOOST_THREAD_LIB)
#dial_tone_LDADD = $(GNURADIO_CORE_LA) $(GR_AUDIO_LA)
dial_tone_LDADD = ${LDADD}
Thanks
Kiran