Как установить программу 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".

Я не знаю, что вызывает эту ошибку, поэтому я погуглил и нашел ветку на authors 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, а Ubuntu 22.04 поставляется с GNU Radio 3.10, если вы устанавливаете его с помощью apt install gnuradio.

Мне удалось выполнить сборку gr-gsmна Ubuntu 22.04 с помощьюэта вилкаотбкерлер. Процесс тот же, что и для оригинального репозитория, но в код добавлены некоторые исправления, позволяющие собирать его на Ubuntu 22.04 с GNU Radio 3.10.

Я использовал ветку по умолчанию maint-3.10_with_multiarfcn.

Связанный контент