CMake for UHD 库找不到 Boost

CMake for UHD 库找不到 Boost

我正在尝试构建 UHD 库(https://github.com/EttusResearch/uhd.git) 在 Ubuntu 20.04 上,当我cmake ..从运行时host/build,收到此消息:

-- Checking for Boost version 1.58 or greater
--   Looking for required Boost components...
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find Boost (missing: chrono date_time filesystem program_options
  serialization thread unit_test_framework system) (found suitable version
  "1.71.0", minimum required is "1.58")
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.16/Modules/FindBoost.cmake:2179 (find_package_handle_standard_args)
  cmake/Modules/UHDBoost.cmake:176 (find_package)
  CMakeLists.txt:296 (include)

这确实让我很困惑,原因有二:

  • 它说找到了一个合适的版本(1.71.0,最低为 1.58),但不知何故仍然失败了。
  • 我有另一台运行 Ubuntu 20.04 的机器,它也可以正常工作,我找不到环境中的任何差异。它是完全相同版本的 CMake(3.16.3),完全相同版本的 Boost(1.71.0)等。运行时,我在相同的路径中获得相同的 Boost 库,ldconfig -p并且我的 LIBRARY_PATH 和 LD_LIBRARY_PATH 环境变量是相同的。

让它在另一台具有(看似)相同环境的机器上工作让我乐观地认为这个问题应该可以解决。有人知道我可以采取哪些后续步骤来排除故障吗?谢谢!

答案1

你必须遵循官方编译指南并安装许多开发包

sudo apt-get install libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential

然后重试。

或者更简单 - 安装二进制 UHD经过

sudo apt-get install libuhd-dev uhd-host gnuradio

相关内容