如何安装程序 gr-gsm?

如何安装程序 gr-gsm?

我正在尝试在我的系统上安装一个名为的程序gr-gsm。因此,我遵循了官方指南这里但是当我输入命令cmake ..(按照安装指南)时,它返回此错误。

CMake Error at swig/CMakeLists.txt:37 (include):
  include could not find requested file:                                                                         
                                                                                                                 
    GrSwig                                                                                                       
                                                                                                                 
                                                                                                                 
CMake Error at swig/CMakeLists.txt:51 (GR_SWIG_MAKE):
  Unknown CMake command "GR_SWIG_MAKE".

我不知道是什么导致了这个错误,所以我在谷歌上搜索并找到了一个关于作者 git repo 的帖子。但这并没有多大帮助。所以,我来这里寻求你的帮助。请帮我以某种方式修复这个错误。

该命令cmake ..给出以下输出:

$ cmake ..
-- The CXX compiler identification is GNU 11.3.0
-- The C compiler identification is GNU 11.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'gmp'
--   Found gmp, version 6.2.1
-- Found GMP: /usr/lib/x86_64-linux-gnu/libgmpxx.so  
-- Using GMP.
-- Found MPLIB: /usr/lib/x86_64-linux-gnu/libgmpxx.so  
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.74.0") found components: date_time program_options system regex thread unit_test_framework 
-- Found Volk: Volk::volk  
-- User set python executable /usr/bin/python3
-- Found PythonInterp: /usr/bin/python3 (found version "3.10.4") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found suitable exact version "3.10.4") 
-- Checking for module 'sndfile'
--   Found sndfile, version 1.0.31
-- Found SNDFILE: /usr/lib/x86_64-linux-gnu/libsndfile.so  
-- Checking for module 'fftw3f >= 3.0'
--   Found fftw3f , version 3.3.8
-- Found FFTW3f: /usr/lib/x86_64-linux-gnu/libfftw3f.so  
-- Found Git: /usr/bin/git  
-- Extracting version information from git describe...
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen dot 
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)                                     
  does not match the name of the calling package (Libosmocore).  This can                                        
  lead to problems in calling code that expects `find_package` result                                            
  variables (e.g., `_FOUND`) to follow a certain pattern.                                                        
Call Stack (most recent call first):                                                                             
  /usr/share/cmake-3.23/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)                       
  cmake/Modules/FindLibosmocore.cmake:2 (INCLUDE)                                                                
  CMakeLists.txt:132 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Checking for module 'libosmocore'
--   Found libosmocore, version 1.6.0
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`                                                 
  (libosmocore) does not match the name of the calling package (Libosmocore).                                    
  This can lead to problems in calling code that expects `find_package`                                          
  result variables (e.g., `_FOUND`) to follow a certain pattern.                                                 
Call Stack (most recent call first):                                                                             
  cmake/Modules/FindLibosmocore.cmake:32 (find_package_handle_standard_args)                                     
  CMakeLists.txt:132 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Found libosmocore: /usr/lib/x86_64-linux-gnu/libosmocore.so  
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)                                     
  does not match the name of the calling package (Libosmocodec).  This can                                       
  lead to problems in calling code that expects `find_package` result                                            
  variables (e.g., `_FOUND`) to follow a certain pattern.                                                        
Call Stack (most recent call first):                                                                             
  /usr/share/cmake-3.23/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)                       
  cmake/Modules/FindLibosmocodec.cmake:1 (INCLUDE)                                                               
  CMakeLists.txt:133 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Checking for module 'libosmocodec'
--   Found libosmocodec, version 1.6.0
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`                                                 
  (libosmocodec) does not match the name of the calling package                                                  
  (Libosmocodec).  This can lead to problems in calling code that expects                                        
  `find_package` result variables (e.g., `_FOUND`) to follow a certain                                           
  pattern.                                                                                                       
Call Stack (most recent call first):                                                                             
  cmake/Modules/FindLibosmocodec.cmake:31 (find_package_handle_standard_args)                                    
  CMakeLists.txt:133 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Found libosmocodec: /usr/lib/x86_64-linux-gnu/libosmocodec.so  
-- Checking for module 'libosmocoding'
--   Found libosmocoding, version 1.6.0
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`                                                 
  (libosmocoding) does not match the name of the calling package                                                 
  (Libosmocoding).  This can lead to problems in calling code that expects                                       
  `find_package` result variables (e.g., `_FOUND`) to follow a certain                                           
  pattern.                                                                                                       
Call Stack (most recent call first):                                                                             
  cmake/Modules/FindLibosmocoding.cmake:31 (find_package_handle_standard_args)                                   
  CMakeLists.txt:134 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Found libosmocoding: /usr/lib/x86_64-linux-gnu/libosmocoding.so  
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)                                     
  does not match the name of the calling package (Libosmogsm).  This can lead                                    
  to problems in calling code that expects `find_package` result variables                                       
  (e.g., `_FOUND`) to follow a certain pattern.                                                                  
Call Stack (most recent call first):                                                                             
  /usr/share/cmake-3.23/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)                       
  cmake/Modules/FindLibosmogsm.cmake:1 (INCLUDE)                                                                 
  CMakeLists.txt:135 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Checking for module 'libosmogsm'
--   Found libosmogsm, version 1.6.0
CMake Warning (dev) at /usr/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (libosmogsm)                                    
  does not match the name of the calling package (Libosmogsm).  This can lead                                    
  to problems in calling code that expects `find_package` result variables                                       
  (e.g., `_FOUND`) to follow a certain pattern.                                                                  
Call Stack (most recent call first):                                                                             
  cmake/Modules/FindLibosmogsm.cmake:31 (find_package_handle_standard_args)                                      
  CMakeLists.txt:135 (find_package)                                                                              
This warning is for project developers.  Use -Wno-dev to suppress it.                                            
                                                                                                                 
-- Found libosmogsm: /usr/lib/x86_64-linux-gnu/libosmogsm.so  
-- Loading build date Tue, 26 Jul 2022 01:54:05 into constants...
-- Loading version v0.42.2-99-g2de47e28 into constants...
-- Using install prefix: /usr/local
-- Building for version: v0.42.2-99-g2de47e28 / 1.0.0git
-- No C++ unit tests... skipping
-- Found SWIG: /usr/bin/swig4.0 (found version "4.0.2")  
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found version "3.10.4") 
CMake Error at swig/CMakeLists.txt:37 (include):
  include could not find requested file:                                                                         
                                                                                                                 
    GrSwig                                                                                                       
                                                                                                                 
                                                                                                                 
CMake Error at swig/CMakeLists.txt:51 (GR_SWIG_MAKE):
  Unknown CMake command "GR_SWIG_MAKE".                                                                          
                                                                                                                 
                                                                                                                 
-- Configuring incomplete, errors occurred!
See also "/home/kali/gr-gsm/build/CMakeFiles/CMakeOutput.log".
See also "/home/kali/gr-gsm/build/CMakeFiles/CMakeError.log".

答案1

osmocom.org 上的原始存储库仅支持 GNU Radio 3.9,如果您使用 apt install gnuradio 安装,Ubuntu 22.04 会附带 GNU Radio 3.10。

我能够gr-gsm使用这叉贝克勒。该过程与原始存储库相同,但他们在代码中添加了一些补丁,使其能够在带有 GNU Radio 3.10 的 Ubuntu 22.04 上构建。

我使用了默认分支maint-3.10_with_multiarfcn

相关内容