You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04编译安装UHD v3.14.0.0时CMake报错求助

解决UHD源码编译时Python版本判断错误的方案
  • 确认UHD版本兼容性
    你当前编译的UHD版本可能仍在强制依赖Python2。如果是较旧的UHD版本,建议切换到支持Python3的分支(如v4.0及以上版本),新版本已经修复了Python3的兼容性问题。

  • 显式指定Python3给CMake
    如果UHD本身支持Python3但CMake未自动检测到,执行cmake时传入Python3相关参数,强制使用Python3.8:

    cd ~/workarea/uhd/host/build
    cmake .. \
      -DPYTHON_EXECUTABLE=$(which python3) \
      -DPYTHON_INCLUDE_DIR=$(python3 -c "import sysconfig; print(sysconfig.get_path('include'))") \
      -DPYTHON_LIBRARY=$(python3 -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR') + '/' + sysconfig.get_config_var('LDLIBRARY'))")
    
  • 修改CMake脚本的版本判断逻辑
    若无法升级UHD源码,直接修改其CMake版本检查代码:

    1. 找到UHD源码中负责Python版本检查的文件(通常在cmake/Modules/目录下,比如FindPython.cmake或相关脚本)
    2. 定位到包含以下内容的代码段:
      execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import platform; assert platform.python_version() >= '2.7' and platform.python_version() < '3.0'"
                      RESULT_VARIABLE PYTHON_VERSION_CHECK_RESULT)
      
    3. 将断言条件修改为支持Python3的版本范围,比如:
      execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import platform; assert platform.python_version() >= '2.7'"
                      RESULT_VARIABLE PYTHON_VERSION_CHECK_RESULT)
      
    4. 保存文件后重新执行cmake命令。
  • 重新确认Mako模块安装
    虽然报错显示Mako已找到,但为避免Python环境不一致,重新安装Python3版本的Mako:

    pip3 install --upgrade mako
    

内容的提问来源于stack exchange,提问作者Cines

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:45:40