Wie installiere ich das Programm gr-gsm?

Wie installiere ich das Programm gr-gsm?

Ich versuche, ein Programm namens gr-gsmauf meinem System zu installieren. Also folgte ich der offiziellen Anleitung vonHieraber als ich den Befehl eingegeben habe cmake ..(und dabei der Installationsanleitung gefolgt bin), wurde dieser Fehler zurückgegeben.

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".

Ich weiß nicht, was diesen Fehler verursacht, also habe ich gegoogelt und einen Thread zum Git-Repo des Autors gefunden. Aber das hilft nicht viel. Also bin ich hier und bitte um Ihre Hilfe. Bitte helfen Sie mir, diesen Fehler irgendwie zu beheben.

Der Befehl cmake ..gibt mir folgende Ausgabe:

$ 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".

Antwort1

Das ursprüngliche Repository unter osmocom.org unterstützt nur GNU Radio 3.9 und Ubuntu 22.04 wird mit GNU Radio 3.10 geliefert, wenn Sie es mit apt install gnuradio installieren.

Ich konnte gr-gsmauf Ubuntu 22.04 aufbauen, indem ichdiese GabelausAbonnieren. Der Vorgang ist derselbe wie für das ursprüngliche Repository, aber es wurden einige Patches zum Code hinzugefügt, die den Aufbau auf Ubuntu 22.04 mit GNU Radio 3.10 ermöglichen.

Ich habe den Standardzweig verwendet maint-3.10_with_multiarfcn.

verwandte Informationen