【问题标题】:Centos 6.6 segmentation fault in Anaconda3 with glibc 2.14Anaconda3 中的 Centos 6.6 分段错误与 glibc 2.14
【发布时间】:2017-09-25 05:12:22
【问题描述】:

我一直试图了解这种情况:

我想在需要 glibc 2.14 的 Anaconda 3 中使用 python 包。由于 Centos 6.x 仅使用 glibc 2.12,我已编译 glibc 2.14 并安装到 /opt/glibc-2.14。

我正在安装 Anaconda3。我运行的测试是这样的:

使用系统默认的 glibc 它可以工作:

/opt/anaconda3/bin/python -c "import pandas"

但使用编译好的 glibc

export LD_LIBRARY_PATH=/opt/glibc-2.14/lib/:$LD_LIBRARY_PATH /opt/anaconda3/bin/python -c "import pandas"

它可以在某些机器上运行...我安装了 20 多个 VM,在某些机器上它始终可以运行,而在某些机器上它永远无法运行,我收到:Segmentation fault (core dumped)。在大多数机器上它不起作用。

有人知道为什么会出现这种奇怪的情况吗?或者也许遇到了这个问题

【问题讨论】:

标签: python centos anaconda glibc


【解决方案1】:

有谁知道为什么会出现这种奇怪的情况

正如this answer 解释的那样,您所做的事情不应该起作用:您在ld-linuxlibc.so.6 之间存在不匹配。

【讨论】:

    【解决方案2】:

    经过更多调查后,我注意到为实验室机器分配更多内存(从 2/4 GB 到 6 甚至更多)会使 segmentation fault 错误消失。但是,在具有 32 GB RAM 的生产机器上仍然存在问题。真奇怪。

    现在我发现解决方法是来自 anaconda 的新 python 包,它们与 glibc 2.12(几天前可用)兼容,并且包的依赖项也不需要更新的 glibc。

    @Employed 俄罗斯人: 谢谢,但Multiple glibc libraries on a single host 可能不是问题。在我的情况下,Python 可以与额外的 glibc 一起使用。问题是segmentation fault 出现在随机机器上,而只使用新的 glibc。另外我正在使用其他需要 glibc 2.14 才能工作的 Python 包,所以我知道我目前使用的是哪个版本的 glibc。

    此外,如果库中存在某种不匹配,那么它根本不应该工作(......可能)。

    正如我在开头提到的那样,我注意到问题与内存有关(仍然不确定 32 GB RAM 机器发生了什么)。

    还有一件事:我没有编译 python 包,因此不能更改编译器选项 od 'myapp'(python 包)。

    感谢您的回答。

    【讨论】:

      猜你喜欢
      • 2017-05-26
      • 2015-08-06
      • 2015-03-14
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      • 2017-02-05
      相关资源
      最近更新 更多