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

Ubuntu20.04安装软件包遇GLIBC未定义引用错误求助

解决conda环境下libgfortran链接GLIBC符号缺失问题

问题分析

你遇到的链接错误并非系统GLIBC版本不足(系统GLIBC 2.31远高于要求的2.17),而是conda环境内的libgfortran.so.4与系统GLIBC存在兼容性冲突,或是conda环境的库路径优先级导致链接时调用了不匹配的库文件。

具体解决方案

1. 更新conda环境中的libgfortran版本

先查看当前环境的libgfortran版本:

conda list libgfortran

若版本为4.x,尝试安装适配gcc 12的版本(gcc 12通常对应libgfortran 5),建议使用conda-forge源:

conda install -c conda-forge libgfortran=5

2. 调整链接库优先级

编译前设置环境变量,让系统标准库优先被调用:

export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

之后重新执行编译命令。

3. 基于conda-forge创建全新兼容环境

创建新环境时指定conda-forge通道,确保获取的编译工具链和库文件版本兼容:

conda create -n new_sedona_env -c conda-forge gcc_linux-64 gfortran_linux-64 libgfortran
conda activate new_sedona_env

在该环境中重新编译目标软件包。

4. 排查libgfortran的依赖关系

定位conda环境中的libgfortran库,检查其依赖:

cd /home/satadru/anaconda3/envs/sedona/lib
ldd libgfortran.so.4

若发现依赖的GLIBC符号异常,直接用conda安装更高版本的libgfortran替换现有库即可。

关于tmpnam警告的说明

loslib.c:(.text+0x2b0): warning: the use of tmpnam' is dangerous, better use mkstemp'仅为编译警告,不影响编译流程,若需解决可修改源码将tmpnam替换为mkstemp,但当前需优先处理链接错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:45:35