problem with compiling gr-osmosdr with latest BladeRF from git

Having issues with the site, hardware, source code, or any other issues?

Moderator: robert.ghilduta

Post Reply
hkopp64
Posts: 5
Joined: Sat Oct 27, 2018 6:10 am

problem with compiling gr-osmosdr with latest BladeRF from git

Post by hkopp64 » Sat Oct 27, 2018 6:24 am

Hello,

I have succesfully compiled and installed BladRF with the latest git source and use gnuradio-3.7.13.4 which is also succesfully compiled and installed with all the gnuradio components.

Compiling gr-osmosdr by cmake i get the next sdr components that are available:

-- ######################################################
-- # Gnuradio enabled components
-- ######################################################
-- * Python support
-- * Osmocom IQ Imbalance Correction
-- * sysmocom OsmoSDR
-- * FUNcube Dongle
-- * FUNcube Dongle Pro+
-- * IQ File Source & Sink
-- * Osmocom RTLSDR
-- * RTLSDR TCP Client
-- * Ettus USRP Devices
-- * HackRF & rad1o Badge
-- * nuand bladeRF
-- * RFSPACE Receivers
-- * AIRSPY Receiver
-- * Red Pitaya SDR
--
-- ######################################################
-- # Gnuradio disabled components
-- ######################################################
-- * Osmocom MiriSDR
-- * SoapySDR support
-- * FreeSRP support
--
-- Building for version: v0.1.4-98-gc653754d / 0.1.5git
-- Using install prefix: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/gr-osmosdr/buSo far It seems oke and nuand bladeRF is supported.[/size]

But compiling gr-osmosdr with make I get the following issues;

[ 74%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/bladerf/bladerf_source_c.cc.o
[ 76%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/bladerf/bladerf_sink_c.cc.o
/usr/local/src/gr-osmosdr/lib/bladerf/bladerf_source_c.cc: In member function ‘virtual double bladerf_source_c::get_center_freq(size_t)’:
/usr/local/src/gr-osmosdr/lib/bladerf/bladerf_source_c.cc:250:69: error: cannot convert ‘uint32_t* {aka unsigned int*}’ to ‘bladerf_frequency* {aka long unsigned int*}’ for argument ‘3’ to ‘int bladerf_get_frequency(bladerf*, bladerf_channel, bladerf_frequency*)’
ret = bladerf_get_frequency( _dev.get(), BLADERF_MODULE_RX, &freq );
^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:422: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/bladerf/bladerf_source_c.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/bladerf/bladerf_source_c.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/usr/local/src/gr-osmosdr/lib/bladerf/bladerf_sink_c.cc: In member function ‘virtual double bladerf_sink_c::get_center_freq(size_t)’:
/usr/local/src/gr-osmosdr/lib/bladerf/bladerf_sink_c.cc:350:69: error: cannot convert ‘uint32_t* {aka unsigned int*}’ to ‘bladerf_frequency* {aka long unsigned int*}’ for argument ‘3’ to ‘int bladerf_get_frequency(bladerf*, bladerf_channel, bladerf_frequency*)’
ret = bladerf_get_frequency( _dev.get(), BLADERF_MODULE_TX, &freq );
^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:446: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/bladerf/bladerf_sink_c.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/bladerf/bladerf_sink_c.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Communication by USB3 is working fine and could load the right image and firmware;

C:\Users\hkopp64>bladeRF-cli -i
bladeRF> i

Board: Nuand bladeRF 2.0 (bladerf2)
Serial #: c344cd346616498ba7a0fd21e2e80e61
VCTCXO DAC calibration: 0x1d9f
FPGA size: 301 KLE
FPGA loaded: yes
Flash size: 128 Mbit (assumed)
USB bus: 2
USB address: 2
USB speed: SuperSpeed
Backend: libusb
Instance: 0

bladeRF> v

bladeRF-cli version: 1.6.1-git-dc83ca47-dirty
libbladeRF version: 2.0.2-git-dc83ca47-dirty

Firmware version: 2.2.0-git-3d38fac2
FPGA version: 0.8.0


Can somebody help me out with gr-osmsdr issue so that I can solve the problem

An older version of BladeRF with the same gr-osmosdr was succesfully compiled and used by fully working of gqrx

Before I used the Airspy-2 and now I want going to use the BladeRF micro A9

Kind regards,

Huib

bglod
Posts: 201
Joined: Thu Jun 18, 2015 6:10 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by bglod » Mon Oct 29, 2018 12:31 pm

Those errors from gr-osmosdr suggest you don't have the latest gr-osmosdr master. Can you double check that first?
Electrical Engineer
Nuand, LLC.

hkopp64
Posts: 5
Joined: Sat Oct 27, 2018 6:10 am

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by hkopp64 » Mon Oct 29, 2018 1:41 pm

Hello,

I got gr-osmosdr now from git source https://github.com/osmocom/gr-osmosdr from master branche.

With cmake i get this and looks fine;

-- ######################################################
-- # Gnuradio enabled components
-- ######################################################
-- * Python support
-- * Osmocom IQ Imbalance Correction
-- * sysmocom OsmoSDR
-- * FUNcube Dongle
-- * FUNcube Dongle Pro+
-- * IQ File Source & Sink
-- * Osmocom RTLSDR
-- * RTLSDR TCP Client
-- * Ettus USRP Devices
-- * HackRF & rad1o Badge
-- * nuand bladeRF
-- * RFSPACE Receivers
-- * AIRSPY Receiver
-- * Red Pitaya SDR
--
-- ######################################################
-- # Gnuradio disabled components
-- ######################################################
-- * Osmocom MiriSDR
-- * SoapySDR support
-- * FreeSRP support
--
-- Building for version: v0.1.4-127-g4d83c606 / 0.1.5git
-- Using install prefix: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hkopp64/Downloads/gr-osmosdr/build

But with make i get the next results but still a problem:

hkopp64@linux:~/Downloads/gr-osmosdr/build> make -j4
Scanning dependencies of target pygen_python_8a1fc
Scanning dependencies of target osmosdr_swig_swig_doc
Scanning dependencies of target osmosdr_grc_xml_blocks
Scanning dependencies of target gnuradio-osmosdr
[ 2%] Generating __init__.pyc
[ 2%] Built target osmosdr_swig_swig_doc
[ 4%] Generating rtlsdr_source.xml
Scanning dependencies of target pygen_apps_005a5
[ 6%] Shebangin osmocom_fft
[ 8%] Generating __init__.pyo
[ 10%] Shebangin osmocom_siggen
[ 10%] Built target pygen_python_8a1fc
[ 12%] Shebangin osmocom_siggen_nogui
[ 14%] Generating osmosdr_source.xml
[ 17%] Shebangin osmocom_spectrum_sense
[ 17%] Built target pygen_apps_005a5
[ 19%] Generating osmosdr_sink.xml
[ 21%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
[ 23%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/sink_impl.cc.o
Scanning dependencies of target pygen_apps_502c7
[ 25%] Generating osmocom_siggen_base.pyc
[ 27%] Generating osmocom_siggen_base.pyo
[ 27%] Built target osmosdr_grc_xml_blocks
[ 29%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/ranges.cc.o
[ 29%] Built target pygen_apps_502c7
[ 31%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/device.cc.o
In file included from /home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_sink_c.h:26:0,
from /home/hkopp64/Downloads/gr-osmosdr/lib/sink_impl.cc:40:
/home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_common.h:291:50: error: ‘>>’ should be ‘> >’ within a nested template argument list
static std::list<boost::weak_ptr<struct bladerf>> _devs; /**< dev cache */
^
In file included from /home/hkopp64/Downloads/gr-osmosdr/lib/sink_impl.cc:40:0:
/home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_sink_c.h:136:32: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
const float SCALING_FACTOR = 2048.0f;
^
In file included from /home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_source_c.h:26:0,
from /home/hkopp64/Downloads/gr-osmosdr/lib/source_impl.cc:72:
/home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_common.h:291:50: error: ‘>>’ should be ‘> >’ within a nested template argument list
static std::list<boost::weak_ptr<struct bladerf>> _devs; /**< dev cache */
^
In file included from /home/hkopp64/Downloads/gr-osmosdr/lib/source_impl.cc:72:0:
/home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_source_c.h:141:32: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
const float SCALING_FACTOR = 2048.0f;
^
In file included from /home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_source_c.h:26:0,
from /home/hkopp64/Downloads/gr-osmosdr/lib/device.cc:70:
/home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_common.h:291:50: error: ‘>>’ should be ‘> >’ within a nested template argument list
static std::list<boost::weak_ptr<struct bladerf>> _devs; /**< dev cache */
^
In file included from /home/hkopp64/Downloads/gr-osmosdr/lib/device.cc:70:0:
/home/hkopp64/Downloads/gr-osmosdr/lib/bladerf/bladerf_source_c.h:141:32: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
const float SCALING_FACTOR = 2048.0f;
^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:86: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/sink_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/sink_impl.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Scanning dependencies of target _osmosdr_swig_swig_tag
[ 34%] Building CXX object swig/CMakeFiles/_osmosdr_swig_swig_tag.dir/_osmosdr_swig_swig_tag.cpp.o
[ 36%] Linking CXX executable _osmosdr_swig_swig_tag
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:62: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
[ 36%] Built target _osmosdr_swig_swig_tag
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:134: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/device.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/device.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 38%] Generating osmosdr_swig.tag
Scanning dependencies of target osmosdr_swig_swig_2d0df
[ 40%] Building CXX object swig/CMakeFiles/osmosdr_swig_swig_2d0df.dir/osmosdr_swig_swig_2d0df.cpp.o
[ 42%] Linking CXX executable osmosdr_swig_swig_2d0df
Swig source
[ 42%] Built target osmosdr_swig_swig_2d0df
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Regards,

Huib
Last edited by hkopp64 on Mon Oct 29, 2018 10:37 pm, edited 1 time in total.

hkopp64
Posts: 5
Joined: Sat Oct 27, 2018 6:10 am

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by hkopp64 » Mon Oct 29, 2018 1:48 pm

If the link to https://github.com/osmocom/gr-osmosdr is not the right master branche then please let me know which link I have to use.

Without BladeRF sdr component compiling the other sdr components where succesfull and working well with GQRX.

Regards

Huib

bglod
Posts: 201
Joined: Thu Jun 18, 2015 6:10 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by bglod » Tue Oct 30, 2018 10:42 am

I just built gnuradio (master), gr-osmosdr (master), and bladeRF (master) from source using gcc v8.2.1. I suspect your latest errors are caused by an older version of gcc.
Electrical Engineer
Nuand, LLC.

hkopp64
Posts: 5
Joined: Sat Oct 27, 2018 6:10 am

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by hkopp64 » Wed Oct 31, 2018 11:14 pm

Oke thanks I am now installing suse tumbleweed and have seen the gcc-8.x.x and boost-68 are supported.

And compiling everything from scratch again and hope that I got more luck this time -:)

I let you know when I am finished with this job and if it was succesfull

Regards and thanks for so far

bglod
Posts: 201
Joined: Thu Jun 18, 2015 6:10 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by bglod » Fri Nov 02, 2018 7:27 am

No worries! Hopefully things work out, but let us know either way!
Electrical Engineer
Nuand, LLC.

hkopp64
Posts: 5
Joined: Sat Oct 27, 2018 6:10 am

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by hkopp64 » Mon Dec 03, 2018 8:25 am

Compiled everything succesfull in openSUSE Leap 15.0 with Libboost 1.66 and gcc 7.3.1, gnuradio-3.7.13.4 and with latest gr-osmosdr from master branch and gqrx-2.11.5.
So everything worked fine now and can have a full spectrum bandwidth of 60Mhz (USB3) even with WFM stereo decoded station simaltanously with no interruptions and receiving is with good quality !!!
On a DH170 miniPC with Intel quad core i7700, HD630 graphics and have 16Gb RAM

OskarM
Posts: 19
Joined: Sun Dec 09, 2018 3:02 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by OskarM » Sun Jan 27, 2019 12:57 pm

I ran into the same problem updating gnuradio with pybombs. My gcc is standard of Ubuntu LTS16.04
gcc -v ==> gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
PyBOMBS.ConfigManager - INFO - Prefix Python version is: 3.5.2
PyBOMBS - INFO - PyBOMBS Version 2.3.3
PyBOMBS.install_manager - ERROR - Package gr-osmosdr is not installed. Aborting.
oskar@oskar:~$ sudo pybombs install gr-osmosdr
PyBOMBS.ConfigManager - INFO - Prefix Python version is: 3.5.2
PyBOMBS - INFO - PyBOMBS Version 2.3.3
PyBOMBS.install_manager - INFO - Phase 1: Creating install tree and installing binary packages:
Install tree:
|
\- gr-osmosdr
PyBOMBS.install_manager - INFO - Phase 2: Recursively installing source packages to prefix:
PyBOMBS.install_manager - INFO - Installing package: gr-osmosdr
PyBOMBS.Packager.source - WARNING - Build dir already exists: /home/oskar/gnurf/src/gr-osmosdr/build
Building: (100%) [=========================================================]
[ 2%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
In file included from /home/oskar/gnurf/src/gr-osmosdr/lib/bladerf/bladerf_source_c.h:26:0,
from /home/oskar/gnurf/src/gr-osmosdr/lib/source_impl.cc:72:
/home/oskar/gnurf/src/gr-osmosdr/lib/bladerf/bladerf_common.h:291:50: error: ‘>>’ should be ‘> >’ within a nested template argument list
static std::list<boost::weak_ptr<struct bladerf>> _devs; /**< dev cache */
^
In file included from /home/oskar/gnurf/src/gr-osmosdr/lib/source_impl.cc:72:0:
/home/oskar/gnurf/src/gr-osmosdr/lib/bladerf/bladerf_source_c.h:141:32: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
const float SCALING_FACTOR = 2048.0f;
^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:62: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
PyBOMBS.Packager.source - ERROR - Build failed. See output above for error messages.
PyBOMBS.Packager.source - ERROR - Problem occurred while building package gr-osmosdr:
Build failed.
PyBOMBS.install_manager - ERROR - Error installing package gr-osmosdr. Aborting.
Do I need to update gcc on my system to make it work? I'm kinda always scared about messing with Linux...

OskarM
Posts: 19
Joined: Sun Dec 09, 2018 3:02 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by OskarM » Sun Jan 27, 2019 3:19 pm

I did manage to update the GRC with pybombs, but then it crashes on the:
Traceback (most recent call last):
File "/home/oskar/gr-flows/bladeRF_loopback.py", line 601, in <module>
main()
File "/home/oskar/gr-flows/bladeRF_loopback.py", line 589, in main
tb = top_block_cls(dc_offset_i=options.dc_offset_i, dc_offset_q=options.dc_offset_q, delay=options.delay, instance=options.instance, iq_mag=options.iq_mag, iq_phase=options.iq_phase, loopback=options.loopback, rx_bandwidth=options.rx_bandwidth, rx_frequency=options.rx_frequency, rx_lna_gain=options.rx_lna_gain, rx_num_buffers=options.rx_num_buffers, rx_num_xfers=options.rx_num_xfers, rx_vga_gain=options.rx_vga_gain, serial=options.serial, tx_gain=options.tx_gain, tx_num_buffers=options.tx_num_buffers, tx_num_xfers=options.tx_num_xfers, verbosity=options.verbosity)
File "/home/oskar/gr-flows/bladeRF_loopback.py", line 153, in __init__

self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + bladerf_rx_args )

File "/home/oskar/gnurf/lib/python2.7/dist-packages/osmosdr/osmosdr_swig.py", line 1173, in make
return _osmosdr_swig.source_make(*args, **kwargs)
RuntimeError: Wrong device arguments specified. Missing nchan?
Any hints? looks like something changed in gr-osmosdr...

OskarM
Posts: 19
Joined: Sun Dec 09, 2018 3:02 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by OskarM » Sun Jan 27, 2019 3:53 pm

I managed to update gnuradio, but than it started to crash on the osmocom source:

https://github.com/Nuand/bladeRF/issues/728

OskarM
Posts: 19
Joined: Sun Dec 09, 2018 3:02 pm

Re: problem with compiling gr-osmosdr with latest BladeRF from git

Post by OskarM » Mon Jan 28, 2019 3:14 pm

The issue was a single "space" in verbosity=" debug", after correcting to "debug" it started to work again.
b.r.

Post Reply