Hi, I build gr-osmocom + XTRX again. And compile successfully
But when I run osmocom_fft :


osmocom_fft -F -f 850e6 -s 4e6
Traceback (most recent call last):
  File "/usr/local/bin/osmocom_fft", line 23, in <module>
    import osmosdr
ModuleNotFoundError: No module named 'osmosdr'


clone gr-osmosdr from https://github.com/osmocom/gr-osmosdr
 Try master and gr-3.8 branch, get the same result

gnuradio-config-info -v
3.8.2.0


output of cmake:

cmake ..
-- Build type not specified: defaulting to release.
-- Checking for module 'gmp'
--   No package 'gmp' found
-- Checking for module 'mpir >= 3.0'
--   No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   date_time
--   program_options
--   filesystem
--   system
--   regex
--   thread
--   unit_test_framework
--   chrono
--   atomic
-- User set python executable /usr/bin/python3
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable exact version "3.6.9")
-- Extracting version information from git describe...
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   chrono
--   thread
--   system
--   date_time
--   atomic
--
-- The build system will automatically enable all components.
-- Use -DENABLE_DEFAULT=OFF to disable components by default.
-- Searching for GNURadio-Blocks...
--  Found GNURadio-Blocks: 1
-- Searching for IQ Balance...
-- Could NOT find gnuradio-iqbalance (missing: gnuradio-iqbalance_DIR)
--  Found IQ Balance: 0
-- Searching for UHD Drivers...
--  Found UHD Driver: TRUE
-- Searching for UHD Block...
--  Found UHD Block: 1
-- Searching for Volk...
--  Found Volk: 1
-- Checking for module 'libairspyhf'
--   No package 'libairspyhf' found
-- Could NOT find LIBAIRSPYHF (missing: LIBAIRSPYHF_LIBRARIES LIBAIRSPYHF_INCLUDE_DIRS)
-- Checking for module 'libgnuradio-fcdproplus'
--   No package 'libgnuradio-fcdproplus' found
-- gnuradio-fcdproplus not found.
-- Checking for module 'libfreesrp'
--   No package 'libfreesrp' found
-- libfreesrp not found.
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3")
--
-- Checking for module SWIG
-- Found SWIG version 3.0.12.
-- Minimum SWIG version required is 1.3.31
--
-- 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
CMake Warning (dev) in lib/CMakeLists.txt:
  A logical block opening on the line

    /home/init3/SDR/gr-osmosdr/lib/CMakeLists.txt:45 (MACRO)

  closes on the line

    /home/init3/SDR/gr-osmosdr/lib/CMakeLists.txt:47 (ENDMACRO)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

You have called ADD_LIBRARY for library gnuradio-osmosdr without any source files. This typically indicates a problem with your CMakeLists.txt file
--
-- Configuring high resolution timing...
--   High resolution timing supported through clock_gettime.
--
-- Configuring Osmocom IQ Imbalance Correction support...
--   Dependency gnuradio-iqbalance_FOUND = 0
--   Disabling Osmocom IQ Imbalance Correction support.
--   Override with -DENABLE_IQBALANCE=ON/OFF
--
-- Configuring FUNcube Dongle support...
--   Dependency GNURADIO_FCDPP_FOUND = FALSE
--   Disabling FUNcube Dongle support.
--   Override with -DENABLE_FCD=ON/OFF
--
-- Configuring IQ File Source & Sink support...
--   Dependency gnuradio-blocks_FOUND = 1
--   Enabling IQ File Source & Sink support.
--   Override with -DENABLE_FILE=ON/OFF
--
--
-- Configuring Osmocom RTLSDR support...
--   Dependency LIBRTLSDR_FOUND = TRUE
--   Enabling Osmocom RTLSDR support.
--   Override with -DENABLE_RTL=ON/OFF
--
-- Configuring RTLSDR TCP Client support...
--   Dependency gnuradio-blocks_FOUND = 1
--   Enabling RTLSDR TCP Client support.
--   Override with -DENABLE_RTL_TCP=ON/OFF
--
-- Configuring Ettus USRP Devices support...
--   Dependency UHD_FOUND = TRUE
--   Dependency gnuradio-uhd_FOUND = 1
--   Enabling Ettus USRP Devices support.
--   Override with -DENABLE_UHD=ON/OFF
--
-- Configuring HackRF & rad1o Badge support...
--   Dependency LIBHACKRF_FOUND = TRUE
--   Enabling HackRF & rad1o Badge support.
--   Override with -DENABLE_HACKRF=ON/OFF
--
-- Configuring nuand bladeRF support...
--   Dependency LIBBLADERF_FOUND = TRUE
--   Enabling 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 = TRUE
--   Enabling AIRSPY Receiver support.
--   Override with -DENABLE_AIRSPY=ON/OFF
--
-- Configuring AIRSPY HF+ Receiver support...
--   Dependency LIBAIRSPYHF_FOUND = FALSE
--   Disabling AIRSPY HF+ Receiver support.
--   Override with -DENABLE_AIRSPYHF=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
--
-- Configuring XTRX SDR support...
--   Dependency LIBXTRX_FOUND = TRUE
--   Enabling XTRX SDR support.
--   Override with -DENABLE_XTRX=ON/OFF
--
-- ######################################################
-- # Gnuradio enabled components                        
-- ######################################################
--   * Python support
--   * IQ File Source & Sink
--   * Osmocom RTLSDR
--   * RTLSDR TCP Client
--   * Ettus USRP Devices
--   * HackRF & rad1o Badge
--   * nuand bladeRF
--   * RFSPACE Receivers
--   * AIRSPY Receiver
--   * SoapySDR support
--   * Red Pitaya SDR
--   * XTRX SDR
--
-- ######################################################
-- # Gnuradio disabled components                        
-- ######################################################
--   * Osmocom IQ Imbalance Correction
--   * FUNcube Dongle
--   * AIRSPY HF+ Receiver
--   * FreeSRP support
--
-- Building for version: 0.2.0.0 / 0.2.0
-- Using install prefix: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/init3/SDR/gr-osmosdr/build 

Clayton Smith <argilo@gmail.com> 于2021年1月18日周一 下午10:10写道:
Are you using the latest version of libxtrx? The xtrx_open_list function was removed from its API a couple years ago and replaced with xtrx_open_string. I recently updated gr-osmosdr to use the new function.

On Mon, Jan 18, 2021 at 8:43 AM 雪碧 0xroot <renxianyuanqi@gmail.com> wrote:
Dear  osmocom community,
I am using XTRX + gr-osmosdr on ubuntu 18
when i try to build gr-osmosdr :

[ 81%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/redpitaya/redpitaya_sink_c.cc.o
[ 83%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/redpitaya/redpitaya_common.cc.o
[ 85%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/xtrx/xtrx_obj.cc.o
[ 87%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/xtrx/xtrx_source_c.cc.o
/home/init3/SDR/gr-osmosdr/lib/xtrx/xtrx_obj.cc: In constructor ‘xtrx_obj::xtrx_obj(const string&, unsigned int, bool)’:
/home/init3/SDR/gr-osmosdr/lib/xtrx/xtrx_obj.cc:71:13: error: ‘xtrx_open_string’ was not declared in this scope
   int res = xtrx_open_string(path.c_str(), &_obj);
             ^~~~~~~~~~~~~~~~
/home/init3/SDR/gr-osmosdr/lib/xtrx/xtrx_obj.cc:71:13: note: suggested alternative: ‘xtrx_open_list’
   int res = xtrx_open_string(path.c_str(), &_obj);
             ^~~~~~~~~~~~~~~~
             xtrx_open_list
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:662: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/xtrx/xtrx_obj.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/xtrx/xtrx_obj.cc.o] Error 1
make[2]: *** 正在等待未完成的任务....
CMakeFiles/Makefile2:167: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Info:

gnuradio 3.8.2.0
gr-osmosdr gr-3.8 

How to fix it? 

cmake output:
cmake ..
-- Build type not specified: defaulting to release.
-- Checking for module 'gmp'
--   No package 'gmp' found
-- Checking for module 'mpir >= 3.0'
--   No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   date_time
--   program_options
--   filesystem
--   system
--   regex
--   thread
--   unit_test_framework
--   chrono
--   atomic
-- User set python executable /usr/bin/python3.6
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable exact version "3.6.9")
-- Extracting version information from git describe...
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   chrono
--   thread
--   system
--   date_time
--   atomic
--
-- The build system will automatically enable all components.
-- Use -DENABLE_DEFAULT=OFF to disable components by default.
-- Searching for GNURadio-Blocks...
--  Found GNURadio-Blocks: 1
-- Searching for IQ Balance...
-- Could NOT find gnuradio-iqbalance (missing: gnuradio-iqbalance_DIR)
--  Found IQ Balance: 0
-- Searching for UHD Drivers...
--  Found UHD Driver: TRUE
-- Searching for UHD Block...
--  Found UHD Block: 1
-- Searching for Volk...
--  Found Volk: 1
-- Checking for module 'libairspyhf'
--   No package 'libairspyhf' found
-- Could NOT find LIBAIRSPYHF (missing: LIBAIRSPYHF_LIBRARIES LIBAIRSPYHF_INCLUDE_DIRS)
-- Checking for module 'libgnuradio-fcdproplus'
--   No package 'libgnuradio-fcdproplus' found
-- gnuradio-fcdproplus not found.
-- Checking for module 'libfreesrp'
--   No package 'libfreesrp' found
-- libfreesrp not found.
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3")
--
-- Checking for module SWIG
-- Found SWIG version 3.0.12.
-- Minimum SWIG version required is 1.3.31
--
-- 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
CMake Warning (dev) in lib/CMakeLists.txt:
  A logical block opening on the line

    /home/init3/SDR/gr-osmosdr/lib/CMakeLists.txt:45 (MACRO)

  closes on the line

    /home/init3/SDR/gr-osmosdr/lib/CMakeLists.txt:47 (ENDMACRO)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

You have called ADD_LIBRARY for library gnuradio-osmosdr without any source files. This typically indicates a problem with your CMakeLists.txt file
--
-- Configuring high resolution timing...
--   High resolution timing supported through clock_gettime.
--
-- Configuring Osmocom IQ Imbalance Correction support...
--   Dependency gnuradio-iqbalance_FOUND = 0
--   Disabling Osmocom IQ Imbalance Correction support.
--   Override with -DENABLE_IQBALANCE=ON/OFF
--
-- Configuring FUNcube Dongle support...
--   Dependency GNURADIO_FCDPP_FOUND = FALSE
--   Disabling FUNcube Dongle support.
--   Override with -DENABLE_FCD=ON/OFF
--
-- Configuring IQ File Source & Sink support...
--   Dependency gnuradio-blocks_FOUND = 1
--   Enabling IQ File Source & Sink support.
--   Override with -DENABLE_FILE=ON/OFF
--
--
-- Configuring Osmocom RTLSDR support...
--   Dependency LIBRTLSDR_FOUND = TRUE
--   Enabling Osmocom RTLSDR support.
--   Override with -DENABLE_RTL=ON/OFF
--
-- Configuring RTLSDR TCP Client support...
--   Dependency gnuradio-blocks_FOUND = 1
--   Enabling RTLSDR TCP Client support.
--   Override with -DENABLE_RTL_TCP=ON/OFF
--
-- Configuring Ettus USRP Devices support...
--   Dependency UHD_FOUND = TRUE
--   Dependency gnuradio-uhd_FOUND = 1
--   Enabling Ettus USRP Devices support.
--   Override with -DENABLE_UHD=ON/OFF
--
-- Configuring HackRF & rad1o Badge support...
--   Dependency LIBHACKRF_FOUND = TRUE
--   Enabling HackRF & rad1o Badge support.
--   Override with -DENABLE_HACKRF=ON/OFF
--
-- Configuring nuand bladeRF support...
--   Dependency LIBBLADERF_FOUND = TRUE
--   Enabling 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 = TRUE
--   Enabling AIRSPY Receiver support.
--   Override with -DENABLE_AIRSPY=ON/OFF
--
-- Configuring AIRSPY HF+ Receiver support...
--   Dependency LIBAIRSPYHF_FOUND = FALSE
--   Disabling AIRSPY HF+ Receiver support.
--   Override with -DENABLE_AIRSPYHF=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
--
-- Configuring XTRX SDR support...
--   Dependency LIBXTRX_FOUND = TRUE
--   Enabling XTRX SDR support.
--   Override with -DENABLE_XTRX=ON/OFF
--
-- ######################################################
-- # Gnuradio enabled components                        
-- ######################################################
--   * Python support
--   * IQ File Source & Sink
--   * Osmocom RTLSDR
--   * RTLSDR TCP Client
--   * Ettus USRP Devices
--   * HackRF & rad1o Badge
--   * nuand bladeRF
--   * RFSPACE Receivers
--   * AIRSPY Receiver
--   * SoapySDR support
--   * Red Pitaya SDR
--   * XTRX SDR
--
-- ######################################################
-- # Gnuradio disabled components                        
-- ######################################################
--   * Osmocom IQ Imbalance Correction
--   * FUNcube Dongle
--   * AIRSPY HF+ Receiver
--   * FreeSRP support
--
-- Building for version: 0.2.0.0 / 0.2.0
-- Using install prefix: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/init3/SDR/gr-osmosdr/build

--------------------------
Thanks