After using the very good websdr site, I've become interested in software defined radio.
The hardware that I'm interested in is the Funcube Pro + dongle, which supports 150kHz to 240MHz and 420MHz to 1.9GHz.
The best SDR software on Linux seems to be gqrx. However, there aren't any packages for CentOS, and I'm not going to change distro for a single piece of software, so I thought I'd try building from source.
There are quite a few steps to go through in order to get it to work, so I've documented them all here.
Install some dependencies
sudo yum install libusb1-devel libusb-devel qt5-qtbase-devel python-cheetah boost148-devel bzip2-libs boost-thread.x86_64 boost148-thread.x86_64 gcc-c++
wget http://gnuradio.org/releases/gnuradio/gnuradio-18.104.22.168.tar.gz tar xvfz gnuradio-22.214.171.124.tar.gz cd gnuradio-126.96.36.199 mkdir build cd build cmake .. # This make step can take quite a long time 30+ minutes make sudo make install
gnuradio funcube dongle pro+
git clone https://github.com/dl1ksv/gr-fcdproplus.git cd gr-fcdproplus/ mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ../ make sudo make install
git clone https://github.com/osmocom/gr-osmosdr.git cd gr-osmosdr/ mkdir build # Slight workaround due to something in the build system looking in the wrong dir... sudo (mkdir /usr/lib64/lib64 && cd /usr/lib64/lib64 && ln -sf ../libboost_system-mt.so.5 && ln -sf ../libboost_thread-mt.so.5) cd build/ cmake ../ make sudo make install
git clone https://github.com/csete/gqrx.git cd gqrx/ export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig /usr/lib64/qt5/bin/qmake-qt5 gqrx.pro make # This fails at the last step with udev undefined references. # Simply copy the last line (starting g++), and put -ludev on the end, and run it. sudo make install
Running itAfter that, you should have a gqrx binary.
You can either add /usr/local/lib64 to /etc/ld.so.conf and run ldconfig, or run it with LD_LIBRARY_PATH=/usr/local/lib64/ /usr/local/bin/gqrx