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

Debian11下gcc编译C程序遇ld链接错误求助

编译C程序时遇到ld链接错误:.relr.dyn段类型未知

我写了一个简单的C程序:

int main(int argc, char *argv[])
{
    int a = 0;
    return 0;
}

执行gcc test.c编译时,出现以下错误:

/usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6: type [0x13] unknown in the ".relr.dyn" section
/usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6 ignored because incompatible when searching for /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: cannot find /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6: type [0x13] unknown in the ".relr.dyn" section
/usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6 ignored because incompatible when searching for /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib64/ld-linux-x86-64.so.2: type [0x13] unknown in the ".relr.dyn" section
/usr/bin/ld: /lib64/ld-linux-x86-64.so.2 ignored because incompatible when searching for /lib64/ld-linux-x86-64.so.2
/usr/bin/ld: cannot find /lib64/ld-linux-x86-64.so.2
/usr/bin/ld: /lib64/ld-linux-x86-64.so.2: unknown type [0x13] in the ".relr.dyn" section
/usr/bin/ld: /lib64/ld-linux-x86-64.so.2 ignored because incompatible when searching for /lib64/ld-linux-x86-64.so.2
collect2: error: ld returned 1 exit status

系统是Debian 11,求解决方法。


解决方法

这个错误源于ld(链接器)版本过旧,不支持.relr.dyn段——这是glibc 2.34及以上版本引入的新重定位格式,而Debian 11默认glibc版本为2.31,若系统glibc被升级但ld未同步更新,就会触发兼容性问题。以下是具体解决步骤:

  • 检查版本匹配情况
    执行命令确认ld和glibc版本:

    ld --version
    ldd --version
    

    若ld版本低于2.35,而glibc版本高于2.31,即可确认是版本不兼容导致的问题。

  • 升级binutils包
    Debian 11的backports仓库提供了更新版的binutils(包含ld),可通过以下步骤安装:

    1. 添加backports源(未添加过的话):
      echo "deb http://deb.debian.org/debian bullseye-backports main" | sudo tee /etc/apt/sources.list.d/bullseye-backports.list
      
    2. 更新包列表并升级binutils:
      sudo apt update
      sudo apt -t bullseye-backports install binutils
      
  • 临时禁用新重定位格式
    若无法升级binutils,可在编译时添加参数,让链接器不使用.relr.dyn段:

    gcc test.c -Wl,--no-relr
    
  • 修复系统库兼容性
    若因错误升级glibc导致问题,可尝试重新安装对应版本的glibc包:

    sudo apt install --reinstall libc6 libc6-dev
    

    注意:操作前请备份重要数据,避免系统崩溃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:30:54