Hello,
I recently tried installing gnuradio on two newer core-i7 machines (both with Ubuntu 14.04LTS) with the new version of pybombs.
Trying to stay away from pip (since I guess it's not updated as soon or often?), I used the following commands to attempt both installs:
Both resulted in problems.
On Computer1, it completed, but installed UHD 3.5.5-1 and gnuradio 3.7.2! (Wow, that's old!) I looked through recent entries in the discuss-gnuradio archives for others' problems, and it seemed that pybombs is using apt-get to install uhd, which then results in an older gnuradio-companion.
On Computer2, it seems I still had an some version of gqrx installed, which hung up the install of libuhd-dev with the "you have held broken packages" message, though the output reported for installing each UHD and GNURadio "Installation Successful" even after the error. Attempting to run gnuradio-companion didn't work, but by this time I figured it would install the wrong version anyway, so I believe I took care of the uhd/gqrx problem, and then ran a "pybombs uninstall gnuradio" on both.
I then added the following changes in ~/.pybombs/config.yml:
config:
satisfy_order: src, native
packages:
gnuradio:
forcebuild: True
uhd:
forcebuild: True
On Computer1, I just ran "sudo pybombs install gnuradio".
On Comptuer2, I ran "sudo pybombs install uhd" and then "sudo pybombs install gnuradio".
On Computer2, I got the standard few pybombs install loading bars, and that's it. All seems installed.
On Computer1, I got those loading bars, and then when they were all complete, I then got the long multicolored output from when you either "cmake ..", "make", or "make install" gnuradio from source. This failed at 88% with the following errors:
[ 88%] Built target uhd_swig_gr_uhd_swig_5e3ce
[ 88%] Building CXX object gr-uhd/swig/CMakeFiles/_uhd_swig.dir/uhd_swigPYTHON_wrap.cxx.o
/usr/local/src/gnuradio/build/gr-uhd/swig/uhd_swigPYTHON_wrap.cxx: In function ‘void init_uhd_swig()’:
/usr/local/src/gnuradio/build/gr-uhd/swig/uhd_swigPYTHON_wrap.cxx:45785:91: error: ‘ATR_REG_IDLE’ is not a member of ‘uhd::usrp::dboard_iface’
SWIG_Python_SetConstant(d, "dboard_iface_ATR_REG_IDLE",SWIG_From_int(static_cast< int >(uhd::usrp::dboard_iface::ATR_REG_IDLE)));
^
/usr/local/src/gnuradio/build/gr-uhd/swig/uhd_swigPYTHON_wrap.cxx:45786:94: error: ‘ATR_REG_TX_ONLY’ is not a member of ‘uhd::usrp::dboard_iface’
SWIG_Python_SetConstant(d, "dboard_iface_ATR_REG_TX_ONLY",SWIG_From_int(static_cast< int >(uhd::usrp::dboard_iface::ATR_REG_TX_ONLY)));
^
/usr/local/src/gnuradio/build/gr-uhd/swig/uhd_swigPYTHON_wrap.cxx:45787:94: error: ‘ATR_REG_RX_ONLY’ is not a member of ‘uhd::usrp::dboard_iface’
SWIG_Python_SetConstant(d, "dboard_iface_ATR_REG_RX_ONLY",SWIG_From_int(static_cast< int >(uhd::usrp::dboard_iface::ATR_REG_RX_ONLY)));
^
/usr/local/src/gnuradio/build/gr-uhd/swig/uhd_swigPYTHON_wrap.cxx:45788:98: error: ‘ATR_REG_FULL_DUPLEX’ is not a member of ‘uhd::usrp::dboard_iface’
SWIG_Python_SetConstant(d, "dboard_iface_ATR_REG_FULL_DUPLEX",SWIG_From_int(static_cast< int >(uhd::usrp::dboard_iface::ATR_REG_FULL_DUPLEX)));
^
make[2]: *** [gr-uhd/swig/CMakeFiles/_uhd_swig.dir/uhd_swigPYTHON_wrap.cxx.o] Error 1
make[1]: *** [gr-uhd/swig/CMakeFiles/_uhd_swig.dir/all] Error 2
make: *** [all] Error 2
PyBombs.Packager.source - ERROR - Build failed. See output above for error messages.
PyBombs.Packager.source - ERROR - Problem occured while building package gnuradio:
Build failed.
PyBombs.install - ERROR - Error installing package gnuradio. Aborting.
On Computer2, I get errors when trying to run uhd_<anything>:
uhd_config_info: error while loading shared libraries: libuhd.so.003: cannot open shared object file: No such file or directory
On Computer2, I get the following error when trying to run gnuradio-companion or gnuradio-config-info:
gnuradio-config-info: error while loading shared libraries: libgnuradio-runtime-3.7.10git.so.0.0.0: cannot open shared object file: No such file or directory
How do I correctly install the latest stable version of UHD with GNURadio without having to worry about installing all the dependencies by hand?