Dear list , i am still trying to compile the gnuradio blocks for the rach.
But the building stops after 52%.
Could it be that there is something wrong in the source code?
Anyone else already succeeded to build the blocks?
I am using Ubuntu 18.04.5 LTS, with gnu-radio 3.7, the compiler give me the following error:
[ 52%] Building CXX object lib/CMakeFiles/gnuradio-gmr1.dir/gsmtap_sink_impl.cc.o /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc: In constructor ‘gr::gmr1::gsmtap_sink_impl::gsmtap_sink_impl(const string&, uint16_t)’: /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:58:27: error: ‘PDU_PORT_ID’ was not declared in this scope message_port_register_in(PDU_PORT_ID); ^~~~~~~~~~~ /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc: In member function ‘void gr::gmr1::gsmtap_sink_impl::send_pdu(pmt::pmt_t)’: /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:94:2: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t {aka unsigned char}’ [-fpermissive] )); ^ /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:94:2: error: invalid conversion from ‘size_t {aka long unsigned int}’ to ‘const uint8_t* {aka const unsigned char*}’ [-fpermissive] /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:94:2: error: too few arguments to function ‘msgb* gmr1_gsmtap_makemsg(uint8_t, uint16_t, uint32_t, uint8_t, const uint8_t*, int)’ In file included from /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:34:0: /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/../include/osmocom/gmr1/gsmtap.h:36:14: note: declared here struct msgb *gmr1_gsmtap_makemsg( ^~~~~~~~~~~~~~~~~~~ lib/CMakeFiles/gnuradio-gmr1.dir/build.make:309: recipe for target 'lib/CMakeFiles/gnuradio-gmr1.dir/gsmtap_sink_impl.cc.o' failed make[2]: *** [lib/CMakeFiles/gnuradio-gmr1.dir/gsmtap_sink_impl.cc.o] Error 1 CMakeFiles/Makefile2:254: recipe for target 'lib/CMakeFiles/gnuradio-gmr1.dir/all' failed make[1]: *** [lib/CMakeFiles/gnuradio-gmr1.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2
Hi,
[ 52%] Building CXX object lib/CMakeFiles/gnuradio-gmr1.dir/gsmtap_sink_impl.cc.o /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc: In constructor ‘gr::gmr1::gsmtap_sink_impl::gsmtap_sink_impl(const string&, uint16_t)’: /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:58:27: error: ‘PDU_PORT_ID’ was not declared in this scope message_port_register_in(PDU_PORT_ID); ^~~~~~~~~~~
PDU_PORT_ID is supposed to be provided by gnuradio. Either your version is too old and doesn't have it yet ... or maybe it's too new and that symbol has been removed. Or maybe an include is missing ... At least in 3.7.9 it's there : http://aws.pabut.org/gnuradio/pdu_8h.html#Macros
/home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc: In member function ‘void gr::gmr1::gsmtap_sink_impl::send_pdu(pmt::pmt_t)’: /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:94:2: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t {aka unsigned char}’ [-fpermissive] )); ^ /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:94:2: error: invalid conversion from ‘size_t {aka long unsigned int}’ to ‘const uint8_t* {aka const unsigned char*}’ [-fpermissive] /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:94:2: error: too few arguments to function ‘msgb* gmr1_gsmtap_makemsg(uint8_t, uint16_t, uint32_t, uint8_t, const uint8_t*, int)’ In file included from /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/lib/gsmtap_sink_impl.cc:34:0: /home/peter/Radio/Thuraya/sylvain-gr/osmo-gmr/gr-gmr1/../include/osmocom/gmr1/gsmtap.h:36:14: note: declared here struct msgb *gmr1_gsmtap_makemsg( ^~~~~~~~~~~~~~~~~~~
Yeah, there might have been some changes not propagated everywhere ... just look at the function being called and how it's meant to be called, fix should be obvious.
The content of that branch will definitly require you to dig into stuff, it's _far_ from being a turn-key solution ... more like a kit. And I haven't run it in a while ... (don't even have gnuradio installed ATM, especially not GR 3.7 ...)
Cheers,
Sylvain