openSUSE Tumbleweed 安装 pyenv 失败

进行安装pyenv,之后使用pyenv doctor进行检查,提示:

$ pyenv doctor             
Cloning /home/jason/.pyenv/plugins/pyenv-doctor/bin/.....
Installing python-pyenv-doctor...
BUILD FAILED (openSUSE Tumbleweed 20180117 using python-build 20160602)
Inspect or clean up the working tree at /tmp/python-  build.20180120111511.14454
Results logged to /tmp/python-build.20180120111511.14454.log
Last 10 log lines:
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for rl_gnu_readline_p in -lreadline... yes
checking for readline/readline.h... no
checking for SSL_library_init in -lssl... no
configure: error: OpenSSL is not installed.
Problem(s) detected while checking system.

检查环境,发现openssl有安装的:

$ sudo zypper in openssl-devel
正在加载软件源数据...
正在读取已安装的软件包...
在软件包名中未找到 'openssl-devel'。正在尝试在功能中查找。
已安装过了 'libopenssl-devel',其提供了 'openssl-devel'。
正在解决软件包依赖关系...
无事可做。

@Jaosn pyenv-doctor 在 github 上的最后一次提交已经是四年前啦,也许你需要用新的工具来检查 pyenv 环境了。

回到你的问题,Tumbleweed 上的 openssl 版本是 1.1.x,pyenv-doctor 用的是 1.0.2 及以下版本。区别就是 1.1.x 版本是没有 SSL_Library_init 的,取代它的是:

OPENSSL_init_ssl

你把 configure.ac 里面检查 openssl 的那个:

AC_CHECK_LIB(ssl, SSL_library_init, [HAVE_LIBSSL=yes], [HAVE_LIBSSL=no])

改成这个:

AC_CHECK_LIB(ssl, OPENSSL_init_ssl, [HAVE_LIBSSL=yes], [HAVE_LIBSSL=no])

然后运行:

autoreconf -fiv 

就能过编译了。

中午的时候直接使用pyenv进行使用,发现是正常的,就没有进行理会了.
谢谢了,待会额我进行测试一下