【问题标题】:Fixing libc.so.6 unexpected reloc type 0x25修复 libc.so.6 意外重定位类型 0x25
【发布时间】:2014-05-30 15:40:25
【问题描述】:

我正在尝试在没有 Internet 连接的 SUSE 系统上安装 gcc4.9。我在 Ubuntu 机器上编译 gcc 并安装到前缀中,然后将前缀文件夹复制到 SUSE 机器上。当我尝试运行它时,gcc 抱怨找不到 GLIBC_2_14,所以我在线下载了 libc6 的 rpm 并将其包含在前缀文件夹中。我的LD_LIBRARY_PATH 包括前缀/lib 和前缀/lib64。当我现在尝试运行任何程序时(ls、cp、cat 等)我收到错误 error while loading shared libraries: /home/***/prefix/lib64/libc.so.6: unexpected reloc type 0x25。

有什么办法可以解决这个问题,以便我可以在这个系统上启动并运行 gcc4.9?

作为替代方案,是否可以静态构建 gcc,以便我在计算机之间传输时完全不必担心链接?

【问题讨论】:

    标签: shared-libraries glibc libc suse gcc4.9


    【解决方案1】:

    我的 LD_LIBRARY_PATH 包括 prefix/lib 和 prefix/lib64

    请参阅 this answer 了解为什么这不起作用。

    有什么办法可以解决这个问题,以便我可以在这个系统上启动并运行 gcc4.9?

    最好的办法是安装 SuSE 系统附带的任何 GCC 软件包,然后使用 那个 GCC 在其上配置和安装 gcc-4.9。

    如果由于某种原因您不能这样做,this answer 有一些方法可以让您在较新的系统上构建 gcc-4.9 并使其在较旧的系统上仍然有效。

    是否可以静态构建 gcc,以便在计算机之间传输时完全不用担心链接?

    与流行的看法相反,完全静态的二进制文件在 Linux 上的可移植性通常较少然后是动态的。

    【讨论】:

      猜你喜欢
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 2017-06-14
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多