我正在尝试在我的系统上安装一个名为的程序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
。