版本GLIBC_PRIVATE未在文件ld-linux-x86-64.so.2中定义

时间:2018-03-12 22:44:04

标签: gcc libc

如果有人能给初学者一些关于gcc版本问题的帮助吗?

我在"version GLIBCXX_3.4.20' not found"遇到了这个问题。在我关注链接之后:How to Install gcc 5.3 with yum on CentOS 7.2? 我遇到了以下额外问题:

scl enable devtoolset-7 bash
git: relocation error: libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference 

2 个答案:

答案 0 :(得分:2)

  

如果有人能给初学者一些关于gcc版本问题的帮助吗?

您的问题没有与任何GCC版本有关。

  

git: relocation error: libc.so.6: symbol _dl_starting_up, ...

此错误很可能意味着您尝试使用其他而不是系统libc.so.6(可能通过将LD_LIBRARY_PATH指向包含{{1}副本的目录来自不同的系统)。

不要这样做:它不起作用。使用备用GLIBC版本是可能的,但很复杂。这个answer提供了一些方法。

答案 1 :(得分:0)

解决方案如下:

  1. 创建一个本地安装路径镜像/(根路径),并包含usr / lib64和与usr / lib64级别相同的usr / lib64的符号链接
  2. 在本地编译和安装GLibC(即configure --prefix = / local / installation / path(/ local / installation / path包含usr和lib64符号链接)
  3. 安装其他必要的依赖项
  4. 通过以下方式调用您的应用程序

    /local/installation/path/usr/lib/ld-linux-${arch}.so.${version} \
      --library-path /local/installation/path/usr/lib:/local/installation/path/usr/lib64:... \
      Your-Bin-Name \
      Your-Bin-CLI-Options
    

    注意:根据需要添加其他路径,每个路径之间用冒号分隔