您尚未登录。

#1 2017-09-05 23:22:14

messyidea
会员
注册时间: 2015-09-24
帖子: 31

pyenv anaconda libcrypto.so.1.0.0 segmentation fault.

今天想尝试下 pyspider (以前没用过), 在 pyenv 的 anaconda 下进行了安装, 之后在使用的时候发生了 segmentation fault.
coredumpctl 查看了一下, 问题出在 libcrypto.so.1.0.0 这个文件
KDQ0RXd.png
本来以为是 anaconda 版本太低了, 更新到最新版本之后还是这个问题

pyenv在安装其它python的时候, 可以修改编译参数, 测试按照下面安装的python是不会报错的

CFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib  pyenv install 3.6.2

而如果直接 " pyenv install 3.6.2 " , 也会发生segmentation fault. 而且出现问题的文件也是 anaconda 里面的  libcrypto.so.1.0.0 这个文件(没去了解过pyenv, 照理说pyenv 新装的 3.6.2应该和 anaconda没有关系才对, 不知道为什么会去引用 anaconda 下面的 libcrypto.so.1.0.0).

pyenv 安装 anaconda 的时候不能调整 CFLAGS 之类的参数(二进制安装), 网上也搜不到相关东西, 感觉没什么希望了, 最后尝试了一下用系统的 "/usr/lib/libcrypto.so.1.0.0" 把 anaconda 文件夹里面的 "libcrypto.so.1.0.0"替换了, 居然可以成功运行, 不会发生SF了, 不知道这样有没有后患.

发个帖子占个坑. 不知道有没有人了解这个的, 求解~

离线

#2 2017-09-06 14:14:36

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: pyenv anaconda libcrypto.so.1.0.0 segmentation fault.

你的 anaconda 是二进制安装吧?它依赖旧版本的 openssl。

离线

#3 2017-09-06 15:11:05

messyidea
会员
注册时间: 2015-09-24
帖子: 31

Re: pyenv anaconda libcrypto.so.1.0.0 segmentation fault.

依云 说:

你的 anaconda 是二进制安装吧?它依赖旧版本的 openssl。

anaconda 好像都是二进制安装的, 用的是 pyenv 默认的安装方式
也的确是依赖 openssl-1.0
不过 arch 上面 openssl 1.1 和 1.0 都是安装着的

我现在也不太清楚为什么用系统的  libcrypto.so.1.0.0 把 anaconda 里面的文件替换掉就正常了 (

离线

#4 2017-09-06 15:55:11

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: pyenv anaconda libcrypto.so.1.0.0 segmentation fault.

所以还是用源里的包好。

应该是 anaconda 的 libcrypto.so.1.0.0 链接到了系统的某个库,版本或者编译参数什么的不兼容,所以挂了。

离线

#5 2017-09-06 18:11:35

messyidea
会员
注册时间: 2015-09-24
帖子: 31

Re: pyenv anaconda libcrypto.so.1.0.0 segmentation fault.

依云 说:

所以还是用源里的包好。

应该是 anaconda 的 libcrypto.so.1.0.0 链接到了系统的某个库,版本或者编译参数什么的不兼容,所以挂了。

不太清楚, 之前确认过了, 原来那个文件不是链接
替换了之后目前情况是正常的, 如果之后不能工作的话还是用pyenv安装换过编译参数的python版本好了

离线

#6 2017-09-06 19:20:48

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: pyenv anaconda libcrypto.so.1.0.0 segmentation fault.

我这里的「链接」指的是 ld 所进行的动态链接啦。

离线

页脚