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

Linux Mint下pyenv安装Python报错找不到libffi.so.8问题求助

共享库版本选择逻辑(Debian系)

  • 编译阶段:优先读取PKG_CONFIG_PATH环境变量指定路径下的.pc配置文件获取库的版本、链接参数,再匹配系统默认路径(/usr/lib/pkgconfig、/usr/lib/x86_64-linux-gnu/pkgconfig等)下的配置
  • 运行阶段:优先加载LD_LIBRARY_PATH环境变量指定路径下的库,再读取ldconfig缓存(由/etc/ld.so.conf.d/下的配置生成,可通过ldconfig -p查看)中的库,最后匹配/lib、/usr/lib等默认路径下的库

你当前系统中没有libffi.so.8,构建时却尝试链接该版本,大概率是环境变量中存在非系统路径的优先级更高的libffi配置,或之前手动编译安装过高版本libffi未清理干净。

解决方案

方案1(推荐,无系统改动)

编译安装Python时强制指定系统libffi的路径,替换下方的<Python版本号>为你要安装的版本即可:

LDFLAGS="-L/usr/lib/x86_64-linux-gnu" CPPFLAGS="-I/usr/include" pyenv install <Python版本号>

该方案强制构建流程读取系统路径下的头文件和库文件,不会改动系统全局配置。

方案2(临时兼容,操作简单)

为系统已有的libffi.so.7创建libffi.so.8的软链接,构建完成后可按需删除:

# 创建软链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/lib/x86_64-linux-gnu/libffi.so.8
# 安装完成后如果不需要可以执行以下命令删除软链接
# sudo rm /usr/lib/x86_64-linux-gnu/libffi.so.8

libffi 7和8的ABI兼容性较好,常规使用场景下不会出现异常。

方案3(不推荐新手使用)

如果你确实需要安装libffi.so.8,可以添加Ubuntu 22.04的源手动安装,但需要注意处理依赖冲突,避免影响系统其他软件的正常运行。

额外排查建议

可以执行以下命令检查是否存在其他路径下的高版本libffi配置:

echo $PKG_CONFIG_PATH
echo $LD_LIBRARY_PATH
find / -name "libffi.pc" 2>/dev/null

如果找到其他路径下的libffi.pc文件,检查其内容中指定的版本号,确认是否为版本8的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:54:06