This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.
Marcus Müller marcus.mueller at ettus.comin templates, things like "vector of complex of float" used to be written as vector<complex<float> > with a space between the > and >, because that avoids the ambiguity with >> (the right-shift operator). This should be remedied in C++11, i.e. "just work" with or without the space; I guess the original authors used C++11 by default. CMake makes such decisions on the fly, depending on (way too) many factors. I must admit I don't know the language version policy for gr-osmosdr, but my guess is that setting the C++ standard to C++11 should work; however, since we're passing std::string around, and that changed its ABI between C++98 and 11, I'd like to recommend that you use the same C++ standard as your GNU Radio uses. GNU Radio uses C++11 on the master branch, or 98 on the maint-3.7 branch. Don't know which one you've built! So, as Vasil pointed out, the easiest way out is to simply add these spaces where necessary, and thus making gr-osmosdr compatible to both C++ versions Best regards, Marcus On Tue, 2019-01-29 at 23:08 +0200, Vasil Velichkov wrote: > Hi Gregor, > On 21/01/2019 16.39, gregor christandl wrote: > > > gregor at gregor-laptop ~/temp/gr-osmosdr/build $ make > > > Scanning dependencies of target gnuradio-osmosdr > > > [ 2%] Building CXX object lib/CMakeFiles/gnuradio- > > > osmosdr.dir/source_impl.cc.o > > > In file included from /home/gregor/temp/gr- > > > osmosdr/lib/bladerf/bladerf_source_c.h:26:0, > > > from /home/gregor/temp/gr- > > > osmosdr/lib/source_impl.cc:72: > > > /home/gregor/temp/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 */ > > > > I'm running Linux Mint 18.3 Sylvia and am trying to compile for GNU > > Radio 3.7 (which I installed via pybombs), gcc version 5.4.0 > > 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11). > > It seems it can't be compiled with certain gcc versions. You could > manually apply the following changes from > https://github.com/Nuand/bladeRF/issues/684#issuecomment-434389842 > > Quick fix would be to edit bladerf_common.h:291 (and any other > > lines it errors out on) to change: > > static std::list<boost::weak_ptr<struct bladerf>> _devs; /**< dev > > cache */ > > to: > > static std::list<boost::weak_ptr<struct bladerf> > _devs; /**< dev > > cache */ > > These three lines in bladerf_common.cc will likely also need > > changing: > > bladerf_common.cc:54:std::list<boost::weak_ptr<struct bladerf>> > > bladerf_common::_devs; > > bladerf_common.cc:1112: _devs.push_back(static_cast<boost::weak_pt > > r<struct bladerf>>(dev)); > > bladerf_common.cc:1120: std::list<boost::weak_ptr<struct > > bladerf>>::iterator it(_devs.begin()); > Or you could try to update your compiler to a more recent version.