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

Ubuntu22.04下pip安装job_stream报错gcc退出码1的解决求助

解决Ubuntu 22.04下job_stream安装失败(MPI_Errhandler_set未声明)的问题

问题根源

报错提示MPI_Errhandler_set未声明,本质是编译时无法找到MPI头文件/库定义,且conda环境编译器配置不匹配,导致系统gcc被优先调用,无法正确关联conda安装的boost-mpi依赖。

分步解决方案

1. 安装系统级MPI开发库

Ubuntu 22.04默认提供OpenMPI,先安装其开发包以确保编译时能获取MPI基础定义:

sudo apt update && sudo apt install -y libopenmpi-dev openmpi-bin

2. 配置conda环境内的编译器

默认conda频道无适配gcc包,需使用conda-forge频道安装环境专属编译器:

# 激活你的虚拟环境
conda activate your_env_name

# 安装conda-forge的gcc/g++
conda install -c conda-forge gcc_linux-64 gxx_linux-64

安装后确认conda编译器被优先调用:

which gcc
# 输出应为conda环境路径下的gcc,例如 ~/miniconda3/envs/your_env_name/bin/gcc

3. 重新安装兼容版boost-mpi

确保boost-mpi与当前MPI版本匹配,先卸载旧版再重装:

conda remove -y boost boost-mpi
conda install -c conda-forge boost-mpi

4. 指定编译环境变量并安装job_stream

激活环境后设置变量,让pip使用conda编译器和依赖路径:

export CC=$CONDA_PREFIX/bin/gcc
export CXX=$CONDA_PREFIX/bin/g++
export CPLUS_INCLUDE_PATH="$CONDA_PREFIX/include:/usr/include/openmpi"
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:/usr/lib/x86_64-linux-gnu/openmpi/lib"

# 执行pip安装
pip install job_stream

备选方案:源码编译job_stream

若上述方法无效,可手动克隆源码并指定依赖路径编译:

git clone https://github.com/wwoods/job_stream.git
cd job_stream
python setup.py install --boost-dir=$CONDA_PREFIX --mpi-dir=/usr/lib/x86_64-linux-gnu/openmpi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:59:53