【问题标题】:Segmentation fault after installing the glibc 2.7安装 glibc 2.7 后出现分段错误
【发布时间】:2017-02-12 08:39:19
【问题描述】:

我尝试将我的 glibc 库更新到 2.7 版本。我的编译过程显示在这里:

 ../configure --disable-debug --disable-dependency-tracking CFLAGS=\
 "-U_FORTIFY_SOURCE -O2 -fno-stack-protector" --disable-silent-rules\
 --prefix=/disk2/hyf/lib/glib-2.7 

 make & make install  

由于权限的限制,我不得不将它安装在非默认搜索目录中(例如/usr/local/lib)。

在我将/disk2/hyf/lib/glib-2.7/lib 添加到LD_LIBRARY_PATH 之后,问题就出现了。

键入ls, ll, vim 等正常命令,都会出现错误Segmentation fault

我上网查了一下,发现有两个原因可能与Segmentation faultissue有关。 (1)glibc-2.7/lib与系统的gcc/lib不兼容(centos系统的gcc版本是gcc 3.4,我也成功安装了gcc-4.9作为替代)

(2) glibc-2.7 安装在非默认路径。

由于任何命令都无法正常工作,我不知道如何解决我的问题。如何解决这个问题?

另外,我的错误是否影响其他用户(我是Linux集群的非sudo用户)?

【问题讨论】:

  • 您是否也升级了loaderpthread 等?它们都必须匹配。您可以在旧 loader 上使用(通常类似于 /lib64/ld-linux-x86-64.so.2)。
  • 感谢您的回复。我还没有升级loader和pthread等。我只是安装了glibc-2.7。
  • 升级 glibc 总是很困难,但你也评论说 e. G。 “ls”失败。这可以通过静态编译 coreutils 来防止。这样你至少可以使用 coreutils 工具。 Bash 也可以静态编译。让 gcc+binutils 工作有点困难 - 您可能必须使用单独的构建工具链目录,类似于 LFS(Linux from Scratch)项目正在做的事情,然后才能进行切换。

标签: linux gcc centos system glibc


【解决方案1】:

This answer 解释了为什么您不能使用 LD_LIBRARY_PATH 指向不同的 GLIBC,以及您需要采取哪些措施来修复崩溃。

【讨论】:

    猜你喜欢
    • 2020-03-02
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 2015-08-06
    • 2015-10-05
    相关资源
    最近更新 更多