Я пытаюсь установить программу с именем 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
.