gnuradio / pybombs

PyBOMBS (Python Build Overlay Managed Bundle System) is the GNU Radio install management system for resolving dependencies and pulling in out-of-tree projects.
https://gnuradio.org
GNU General Public License v3.0
416 stars 190 forks source link

Faiure of source build with pybombs recipe gnuradio-default with swig arguments #612

Closed john-g8cqx closed 2 years ago

john-g8cqx commented 2 years ago

Build failed with swig argument errors flagged... transcript attached ubuntu 20.04.3 GR 3.8 (maint-3.8) GR Installation Method: pybombs transcript.txt

velichkov commented 2 years ago

Hi @john-g8cqx,

/home/john/prefix/default1/src/gnuradio/build/gr-uhd/swig/CMakeFiles/uhd_swig.dir/uhd_swigPYTHON_wrap.cxx:9658:45: error: no match for ‘operator=’ (operand types are ‘SwigValueWrapper<std::shared_ptr<uhd::usrp::dboard_iface> >’ and ‘uhd::usrp::dboard_iface::sptr’ {aka ‘boost::shared_ptr<uhd::usrp::dboard_iface>’})
9658 |       result = (arg1)->get_dboard_iface(arg2);

One possible reason for such errors is that you have two incompatible versions of libuhd installed on your system. Most probably one has been installed using the apt package manager from the ubunto or gnuradio ppa repositories and a second one installed by pybombs.

If you want to install gnuradio using pybombs then my advice is to check and uninstall all uhd and gnuradio packages.

dpkg -l | grep uhd
dpkg -l | grep gnuradio
sudo apt remove libuhd3.15.0 libgnuradio-runtime3.8.1
john-g8cqx commented 2 years ago

Hi velichkov, thank you for the suggestion and sorry to have been so long replying but I have been away. I have removed a couple of old UHD installations as you suggested so none show up now with dpkg -l but I still have the same problem as in the attached transcript transcript.txt .

john-g8cqx commented 2 years ago

I have sidestepped the issue. Having removed surplus UHD files I then built gnursfio39 recipe in a clean prefix and that's fine. I then built gqrx in another clean prefix. There were failures with this which I fixed by checking out gr38 versions or updating in the fcdproplus case.