When trying to build osmocom, following the directions on the github/website, I encountered an error that stopped me from finishing the cmake.
-- Installation is located at: /usr/local
-- Build type not specified: defaulting to release.
-- Checking for module 'mpir >= 3.0'
-- No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- User set python executable /usr/bin/python3
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/
libpython3.8.so (found suitable exact version "3.8.10")
-- Extracting version information from git describe...
-- Could NOT find gnuradio-blocks (missing: gnuradio-blocks_DIR)
-- Found Block Block: 0
-- Checking for module 'gnuradio-iqbalance'
-- No package 'gnuradio-iqbalance' found
-- Could NOT find GNURADIO_IQBALANCE (missing: GNURADIO_IQBALANCE_LIBRARIES GNURADIO_IQBALANCE_INCLUDE_DIRS)
-- Found gnuradio-uhd: /usr/include, /usr/lib/x86_64-linux-gnu/libgnuradio-uhd.so
-- Checking for module 'libosmosdr'
-- No package 'libosmosdr' found
-- libosmosdr not found.
-- Checking for module 'librtlsdr'
-- No package 'librtlsdr' found
-- librtlsdr not found.
-- Checking for module 'libmirisdr'
-- No package 'libmirisdr' found
-- libmirisdr not found.
-- Checking for module 'libairspy'
-- No package 'libairspy' found
-- Could NOT find LIBAIRSPY (missing: LIBAIRSPY_LIBRARIES LIBAIRSPY_INCLUDE_DIRS)
-- Checking for module 'libbladeRF'
-- No package 'libbladeRF' found
-- libbladeRF not found.
-- Checking for module 'libfreesrp'
-- No package 'libfreesrp' found
-- libfreesrp not found.
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/
libpython3.8.so (found version "3.8.10")
--
-- Checking for module SWIG
-- Found SWIG version 4.0.1.
-- Minimum SWIG version required is 1.3.31
--
-- The build system will automatically enable all components.
-- Use -DENABLE_DEFAULT=OFF to disable components by default.
--
-- Configuring Python support support...
-- Dependency PYTHONLIBS_FOUND = TRUE
-- Dependency SWIG_FOUND = TRUE
-- Dependency SWIG_VERSION_CHECK = TRUE
-- Enabling Python support support.
-- Override with -DENABLE_PYTHON=ON/OFF
--
-- Configuring high resolution timing...
-- High resolution timing supported through clock_gettime.
--
-- Configuring Osmocom IQ Imbalance Correction support...
-- Dependency GNURADIO_IQBALANCE_FOUND = FALSE
-- Disabling Osmocom IQ Imbalance Correction support.
-- Override with -DENABLE_IQBALANCE=ON/OFF
--
-- Configuring sysmocom OsmoSDR support...
-- Dependency LIBOSMOSDR_FOUND = FALSE
-- Disabling sysmocom OsmoSDR support.
-- Override with -DENABLE_OSMOSDR=ON/OFF
--
-- Configuring IQ File Source & Sink support...
-- Dependency GNURADIO_BLOCKS_FOUND =
-- Disabling IQ File Source & Sink support.
-- Override with -DENABLE_FILE=ON/OFF
--
-- Configuring Osmocom RTLSDR support...
-- Dependency LIBRTLSDR_FOUND = FALSE
-- Disabling Osmocom RTLSDR support.
-- Override with -DENABLE_RTL=ON/OFF
--
-- Configuring RTLSDR TCP Client support...
-- Dependency GNURADIO_BLOCKS_FOUND =
-- Disabling RTLSDR TCP Client support.
-- Override with -DENABLE_RTL_TCP=ON/OFF
--
-- Configuring Ettus USRP Devices support...
-- Dependency UHD_FOUND = TRUE
-- Dependency GNURADIO_UHD_FOUND = TRUE
-- Enabling Ettus USRP Devices support.
-- Override with -DENABLE_UHD=ON/OFF
--
-- Configuring Osmocom MiriSDR support...
-- Dependency LIBMIRISDR_FOUND = FALSE
-- Disabling Osmocom MiriSDR support.
-- Override with -DENABLE_MIRI=ON/OFF
--
-- Configuring HackRF & rad1o Badge support...
-- Dependency LIBHACKRF_FOUND = TRUE
-- Enabling HackRF & rad1o Badge support.
-- Override with -DENABLE_HACKRF=ON/OFF
-- HackRF multiple device support enabled
--
-- Configuring nuand bladeRF support...
-- Dependency LIBBLADERF_FOUND = FALSE
-- Disabling nuand bladeRF support.
-- Override with -DENABLE_BLADERF=ON/OFF
--
-- Configuring RFSPACE Receivers support...
-- Enabling RFSPACE Receivers support.
-- Override with -DENABLE_RFSPACE=ON/OFF
--
-- Configuring AIRSPY Receiver support...
-- Dependency LIBAIRSPY_FOUND = FALSE
-- Disabling AIRSPY Receiver support.
-- Override with -DENABLE_AIRSPY=ON/OFF
--
-- Configuring SoapySDR support support...
-- Dependency SoapySDR_FOUND = 1
-- Enabling SoapySDR support support.
-- Override with -DENABLE_SOAPY=ON/OFF
--
-- Configuring Red Pitaya SDR support...
-- Enabling Red Pitaya SDR support.
-- Override with -DENABLE_REDPITAYA=ON/OFF
--
-- Configuring FreeSRP support support...
-- Dependency LIBFREESRP_FOUND = FALSE
-- Disabling FreeSRP support support.
-- Override with -DENABLE_FREESRP=ON/OFF
--
-- ######################################################
-- # gr-osmosdr enabled components
-- ######################################################
-- * Python support
-- * Ettus USRP Devices
-- * HackRF & rad1o Badge
-- * RFSPACE Receivers
-- * SoapySDR support
-- * Red Pitaya SDR
--
-- ######################################################
-- # gr-osmosdr disabled components
-- ######################################################
-- * Osmocom IQ Imbalance Correction
-- * sysmocom OsmoSDR
-- * IQ File Source & Sink
-- * Osmocom RTLSDR
-- * RTLSDR TCP Client
-- * Osmocom MiriSDR
-- * nuand bladeRF
-- * AIRSPY Receiver
-- * FreeSRP support
--
-- Building for version: v0.1.4-143-g8cd65e60 / 0.1.5git
-- Using install prefix: /usr/local
-- Configuring done
CMake Error at lib/CMakeLists.txt:272 (ADD_LIBRARY):
Target "gnuradio-osmosdr" links to target "gnuradio::gnuradio-blocks" but
the target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/UseSWIG.cmake:573 (add_library):
Target "osmosdr_swig" links to target "gnuradio::gnuradio-blocks" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrSwig.cmake:133 (swig_add_library)
swig/CMakeLists.txt:53 (GR_SWIG_MAKE)
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
I have gnuradio 3.8 installed through apt-get install and did "git checkout gr3.8" so the osmocom should be on the right version. However I do not know how to debug cmake files and even though it seems like it cannot find the gnuradio blocks, I don't know how to include this directory. Also I believe the only thing I need is the HackRF so if the others are disabled that is okay right?
If you would like to use it, I am appending the dockerfile that I am using.