Search code examples
ubuntucmakegnuradiognuradio-companionrtl-sdr

ubuntu - GNU-RADIO - cmake could not find MPIR


I'm trying to get a RTL-SDR source block (or osmo sdr, since they both work) in GNU Radio, and it apparently must be obtained via the following command lines:

git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/

mkdir build
cd build/
cmake ../

I do as suggested, but when I run the last line I get the following error

No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR) 

Among others:

Checking for module 'fftw3f >= 3.0'
Found fftw3f , version 3.3.8
 Found FFTW3f: /usr/lib/x86_64-linux-gnu/libfftw3f.so  
 Checking for module 'libosmodsp'
   No package 'libosmodsp' found
 libosmodsp not found.
 libosmodsp not found, using local checkout
 Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
 Using install prefix: /usr/local
 Building for version: 3.8.0.0 / 3.8.0
 No C++ unit tests... skipping 
 Checking for module SWIG
 Disabling SWIG because version check failed.
CMake Error at lib/CMakeLists.txt:30 (add_library):
  Cannot find source file:

    /home/hubp/Downloads/libosmo-dsp/src/cxvec.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx


CMake Error at lib/CMakeLists.txt:30 (add_library):
  No SOURCES given to target: gnuradio-iqbalance


CMake Generate step failed.  Build files cannot be regenerated correctly.

I suspect I might be missing some dependencies but I can't understand what they are or how to get them. Thanks for any help


Solution

  • Okay I got it!

    This guy goes over the required libraries

    https://www.youtube.com/watch?v=2IWtEkAHXFI

    I was missing swig, and afterwards I was also missing liborc-0.4-dev

    They can be installed via:

    sudo apt-get install swig
    sudo apt install liborc-0.4-dev
    

    Please note that despite helping my case in particular, this video predates the release of GNU Radio 3.8 by several years, and really does not reflect GNU Radio's current requirements.