论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Oracle
›
linux(ubuntu)中Conda、CUDA安装Xinference报错ERROR: ...
linux(ubuntu)中Conda、CUDA安装Xinference报错ERROR: Failed to build ( ...
篮之新喜
金牌会员
|
2025-3-15 17:01:44
|
显示全部楼层
|
阅读模式
楼主
主题
966
|
帖子
966
|
积分
2908
如果符合标题情况
执行的:
pip install "xinference[all]"
复制代码
大概率是终极办理的情况。
一、常规办法
llama-cpp-python 依赖 CMake、Make 和 g++ 来编译,以是可能是
缺少依赖
或者
情况设置不对
。按照以下步调排查问题并办理:
1. 确保 Python 版本符合要求
llama-cpp-python 必要 Python
>=3.8
,推荐
Python 3.10
或更高:
python --version
复制代码
如果 Python 版本低于 3.8,建议升级。
如果利用 conda:
conda create -n xinference_env python=3.10
conda activate xinference_env
复制代码
2. 安装必要的依赖
如果你在
Ubuntu / Debian
:
sudo apt update
sudo apt install -y cmake make g++ python3-dev
复制代码
如果你在
CentOS / RHEL
:
sudo yum install -y cmake make gcc-c++ python3-devel
复制代码
如果你在
macOS
:
brew install cmake
复制代码
3. 重新尝试安装
利用 pip 重新安装:
pip install --no-cache-dir llama-cpp-python
复制代码
或者
欺压重新编译
:
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install --force-reinstall --no-cache-dir llama-cpp-python
复制代码
如果你有
NVIDIA GPU
并希望利用 CUDA 加速:
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python --no-cache-dir
复制代码
4. 检查 pip 是否最新
偶尔 pip 版本太旧会导致安装失败:
pip install --upgrade pip setuptools wheel
复制代码
5. 利用 Prebuilt 版本(跳过编译)
如果仍然失败,可以安装
预编译版本
:
pip install llama-cpp-python --prefer-binary
复制代码
总结
✅
检查 Python 版本
(python --version
)
✅
安装依赖
(sudo apt install cmake make g++ python3-dev)
✅
打扫缓存并欺压重新安装
(pip install --no-cache-dir llama-cpp-python
)
✅
尝试 CUDA 版本
(如果有 GPU)
✅
利用预编译版本
(pip install llama-cpp-python --prefer-binary
)
二、继续
在这种情况下,通常是因为构建情况的某些依赖或版本不满足要求。请按照以下步调逐项排查和办理问题:
1. 升级构建工具和 Python 打包工具
确保你的 pip、setuptools 和 wheel 均为最新版本:
pip install --upgrade pip setuptools wheel
复制代码
2. 检查 CMake 版本
低版本的 CMake 可能导致编译失败。请确认你的 CMake 至少在 3.18 以上:
cmake --version
复制代码
如果版本较低,建议更新 CMake:
利用 Snap 安装最新版本:
sudo snap install cmake --classic
复制代码
或者从 CMake 官网 下载最新二进制包并安装。
3. 检查 g++ 编译器版本
llama-cpp-python 必要支持 C++17。请确保 g++ 版本足够新(推荐 g++ 9 或更高):
g++ --version
复制代码
如果版本过低,安装 g+±9(或更高版本):
sudo apt install g++-9
复制代码
并通过 update-alternatives 设置默认 g++:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
复制代码
4. 设置 CUDA 情况变量
既然你已经安装了 CUDA,请确保情况变量正确设置,特别是 CUDA_HOME(这有助于 CMake 定位 CUDA 库):
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
复制代码
你可以将这些设置添加到 ~/.bashrc 或 ~/.profile 中以便永久见效。
5. 尝试详细日志安装
利用更详细的日志输出安装,以便获取具体错误信息:
pip install --no-cache-dir llama-cpp-python
-v
复制代码
观察输出日志,确认是否有其他缺失的依赖或编译错误提示。
6. 从源码安装
如果通过 pip 直接安装仍然失败,尝试从源码克隆并安装:
git clone https://github.com/abetlen/llama-cpp-python.git
cd llama-cpp-python
pip install .
复制代码
如许可以得到更多编译过程中的详细信息,有助于定位问题。
三、继续
错误日志可能问题出在 CMake 无法找到 vendor/llama.cpp 目次下应有的 CMake 设置文件,以及 llava 相干子目次缺失。这通常有两种原因:
源码包缺失子模块内容
如果你直接通过 pip 安装,而源码包中未包含子模块(即 vendor/llama.cpp 及其子目次),就会导致构建失败。办理方案是从 GitHub 克隆仓库时利用 --recursive 选项,确保拉取全部子模块内容,然后再安装。例如:
git clone --recursive https://github.com/abetlen/llama-cpp-python.git
cd llama-cpp-python
pip install .
复制代码
不必要构建 llava 支持
错误日志显示构建过程中试图添加 llava 相干目标,但对应目次缺失。如果你不必要 llava(通常用于特定扩展功能),可以在编译时禁用它。尝试在安装时传递 CMake 参数关闭 llava 模块:
CMAKE_ARGS="-DLLAMA_CPP_BUILD_LLAVA=OFF" pip install --no-cache-dir llama-cpp-python
复制代码
如许可以跳过对不存在目次的引用。
综合建议
方案一:从源码克隆并安装(推荐用于 CUDA 支持)
通过 Git 克隆完整仓库(包含子模块)再安装:
git clone --recursive https://github.com/abetlen/llama-cpp-python.git
cd llama-cpp-python
pip install .
复制代码
方案二:禁用 llava 模块重新编译
如果你确定不必要 llava 支持,可以禁用它:
CMAKE_ARGS="-DLLAMA_CPP_BUILD_LLAVA=OFF" pip install --no-cache-dir llama-cpp-python
复制代码
四、缺少 libgomp库
从错误日志来看,构建过程中链接 libggml-cpu.so 时缺失 OpenMP 运行时库(libgomp.so.1),导致一系列 GOMP_* 符号无法解析。这通常表明当前体系中缺少 GNU OpenMP 库。
为办理此问题,请依次执行以下步调:
安装 libgomp 库
在 Ubuntu 体系中,通常可以通过以下命令安装 libgomp:
sudo apt-get update
sudo apt-get install libgomp1
复制代码
如果必要开辟头文件,也可以安装:
sudo apt-get install libgomp-dev
复制代码
验证库路径
安装后,确认 libgomp.so.1 存在于体系库目次(如 /usr/lib/x86_64-linux-gnu/):
locate libgomp.so.1
复制代码
或者:
find /usr -name "libgomp.so.1"
复制代码
确保编译器调用正确的 OpenMP 链接标志
如果依然报错,请检查是否必要在编译参数中添加 -fopenmp。对于 llama-cpp-python 来说,通常 CMake 会自动检测,如果未能正确链接,可以尝试在情况变量中设置相应的 CMake 参数,例如:
export CMAKE_ARGS="-DCMAKE_CXX_FLAGS=-fopenmp"
pip install --no-cache-dir llama-cpp-python
复制代码
(终极办理)在 Conda 情况中安装 libgomp
确认 libgomp 安装成功
在当前 Conda 情况中执行:
conda list libgomp
复制代码
确认输出中包含 libgomp。确保库文件(如 libgomp.so.1)位于 $CONDA_PREFIX/lib 目次下。
设置情况变量
为确保编译时可以正确找到 OpenMP 库,可以将 Conda 库路径添加到 LD_LIBRARY_PATH 中(如果尚未设置):
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH
复制代码
建议将此命令添加到 Conda 情况的激活脚本中,以便每次激活情况时自动见效。
重新编译安装 llama-cpp-python
在确保 libgomp 可用后,重新尝试安装 llama-cpp-python:
pip install --no-cache-dir llama-cpp-python
复制代码
如果你必要启用 OpenMP 支持且遇到链接问题,可以尝试添加编译标志:
export CMAKE_ARGS="-DCMAKE_CXX_FLAGS=-fopenmp"
pip install --no-cache-dir llama-cpp-python
复制代码
检查编译日志
观察编译输出,确认 libgomp 相干的错误不再出现。如果仍有问题,建议利用详细日志:
pip install --no-cache-dir llama-cpp-python
-v
复制代码
分析日志中的错误信息,以便进一步调整情况或 CMake 参数。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
篮之新喜
金牌会员
这个人很懒什么都没写!
楼主热帖
XtraBackup 搭建从库的一般步骤及 Xtra ...
rustdesk自建服务器总是掉线 未就绪, ...
Docker三剑客之Machine
8行代码实现快速排序,简单易懂图解! ...
[回馈]ASP.NET Core MVC开发实战之商城 ...
通过Go语言创建CA与签发证书 ...
Java毕业设计-音乐管理系统
三天吃透Kafka面试八股文
Apache Solr 教程_编程入门自学教程_菜 ...
sqlserver 软件授权
标签云
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表