OPenSuse Tumbleweed and new API build errors

Post information or questions regarding SDRplay products here
Post Reply
rskunath
Posts: 16
Joined: Sat Feb 04, 2017 4:55 pm

OPenSuse Tumbleweed and new API build errors

Post by rskunath » Sat Nov 10, 2018 2:24 pm

I upgraded my Leap 15 install to Tumbleweed and I'm turning the crank on the build of CubicSDR and all its deps, soapy, etc. I have the new API installed, the files are in the correct place in /usr/local/lib/libmirsdrapi-rsp.so.2.13 (I have had Cubic running before) but on the SoapySDRPlay build I'm getting an error that searching seems to indicate the wrong architecture API loaded, but that's not the case. This is an AMD 64-bit CPU and the API install looks correct:

Architecture: x86_64
API Version: 2.13
Remove old libraries...
[sudo] password for root:
Install /usr/local/lib/libmirsdrapi-rsp.so.2.13
Remove old header files...
Install /usr/local/include/mirsdrapi-rsp.h
Udev rules directory found, adding rules...
Libusb found, continuing...
Finished.

But the build fails with a whole screenfull of errors, the first is:

[ 20%] Linking CXX shared module libsdrPlaySupport.so
/usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/sdrPlaySupport.dir/Registation.cpp.o: in function `_GLOBAL__sub_I_Registation.cpp':


Is this API related? I'm using the latest versions of all of the deps pulled via git today, but the build fails on building SoapySDRPlay. The main point of the rebuild is to get the latest API going so I can use my RSP2 Pro and my RSPduo.

Any ideas greatly appreciated...

Thanks in advance,
Rick

Reason: No reason

rskunath
Posts: 16
Joined: Sat Feb 04, 2017 4:55 pm

Re: OPenSuse Tumbleweed and new API build errors

Post by rskunath » Sat Nov 10, 2018 6:35 pm

Made some headway after cleaning out old symlinks that thjje previoous API installer left in /usr/local/lib and SoapySDRPlay now errors out on the last step in linking errors (more errors below the paste but I didn't past them all in and all to do with sdrPlaySupport.dir):

[ 20%] Building CXX object CMakeFiles/sdrPlaySupport.dir/Registation.cpp.o
[ 40%] Building CXX object CMakeFiles/sdrPlaySupport.dir/Settings.cpp.o
[ 60%] Building CXX object CMakeFiles/sdrPlaySupport.dir/Streaming.cpp.o
[ 80%] Building CXX object CMakeFiles/sdrPlaySupport.dir/Version.cpp.o
[100%] Linking CXX shared module libsdrPlaySupport.so
/usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/sdrPlaySupport.dir/Registation.cpp.o: in function `_GLOBAL__sub_I_Registation.cpp':
Registation.cpp:(.text.startup+0x5d): undefined reference to `SoapySDR::Registry::Registry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > (* const&)(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&), SoapySDR::Device* (* const&)(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

Reason: No reason

rskunath
Posts: 16
Joined: Sat Feb 04, 2017 4:55 pm

Re: OPenSuse Tumbleweed and new API build errors

Post by rskunath » Sun Nov 11, 2018 6:38 pm

I did eventually resolve this. In case anyone else runs into this, the issue was with several versions of old sdr related dev files that were lurking in the machine. No doubt this was because of the upgrades over the years. A complete cleanout of these and following the long version (not the version to build in the interactive form) got me a working CubicSDR install.

I followed these SDRplay instructions: https://www.sdrplay.com/docs/SDRplay_no ... s_Flow.pdf

From source, I built (after first installing the latest 2.x driver) SoapySDR, SoapySDRplay, SoapyRemote, Liquid-DSP, built WXwidgets 3.1.1 and finally CubicSDR. The SDRplay instructions worked perfectly.

Plugged in the SDRduo and boom, a working installation. Now on to GQRX and more :)

Reason: No reason

Post Reply