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

Ubuntu 18.04安装Flow配套Ray RLlib时CMake报错的解决方法

解决flow-project/ray安装时的CMake -O3参数错误

问题背景

在Ubuntu 18.04环境下,已完成SUMO安装,克隆flow-project的Ray仓库后执行python setup.py develop,触发CMake构建错误,提示Unknown argument -O3。

错误日志片段

CMake Error: Unknown argument -O3
CMake Error: Run 'cmake --help' for all supported options.
CMakeFiles/arrow_ep.dir/build.make:91: recipe for target 'external/arrow/src/arrow_ep-stamp/arrow_ep-configure' failed
make[2]: *** [external/arrow/src/arrow_ep-stamp/arrow_ep-configure] Error 1
CMakeFiles/Makefile2:411: recipe for target 'CMakeFiles/arrow_ep.dir/all' failed
make[1]: *** [CMakeFiles/arrow_ep.dir/all] Error 2
Makefile:145: recipe for target 'all' failedmake: *** [all] Error 2

已执行的配置操作

  • 系统依赖安装:
    sudo apt-get update
    sudo apt-get install -y cmake pkg-config build-essential autoconf curl libtool unzip flex bison psmisc python
    sudo apt-get install python3-dev
    
  • Python依赖安装:
    pip install cython==0.29.0
    
  • 当前环境版本:CMake 3.25.2,setuptools 58.1.0

解决方案

1. 降级CMake版本

该错误源于flow-project的Ray分支构建脚本与高版本CMake的参数兼容性问题,建议降级到Ubuntu 18.04官方源适配的CMake版本:

# 卸载当前高版本CMake
sudo apt remove --purge -y cmake
sudo apt autoremove -y
# 安装官方源的CMake
sudo apt update
sudo apt install -y cmake

执行cmake --version验证版本,通常会显示3.10.x或3.16.x系列。

2. 修改Arrow依赖的构建参数(不降级CMake方案)

手动调整Ray仓库中Arrow依赖的CMake配置,将直接传递的-O3参数改为标准CMake变量设置:

  • 进入Ray仓库的external/arrow目录
  • 找到对应CMake配置文件(如CMakeLists.txt),替换直接传递的-O3参数为:
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
    

3. 用虚拟环境隔离依赖

避免系统全局依赖冲突,在虚拟环境中重新执行安装:

# 创建并激活虚拟环境
python3 -m venv ray_env
source ray_env/bin/activate
# 安装适配版本的依赖
pip install cython==0.29.0 setuptools==56.0.0
# 重新执行安装
cd ~/ray/python/
python setup.py develop

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:57:20