在openSUSE上从头开始构建python 3.6.3

时间:2017-11-16 06:02:58

标签: python python-3.6 opensuse

我在openSUSE LEAP 42.3上从源代码构建python 3.6.3时遇到了困难。
当我开始配置构建时,我运行了:

./configure --prefix=/opt/python3.6 --with-pydebug --enable-optimizations --enable-shared

并在另一个演绎中

./configure --prefix=/opt/python3.6 --with-pydebug --enable-optimizations --enable-shared --with-system-expat --with-system-ffi

在两者之前,CXX定义为

CXX = "/usr/bin/g++"

配置顺利(或似乎)然后当我开始制作时,在取得一些成功后,它总是会失败:

  

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3   -Wall -Wstrict-prototypes -std = c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -I。 -I./Include -DPy_BUILD_CORE -I./Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI -c ./Modules/expat/xmlparse.c -o Modules / xmlparse.o ./Modules/expat/xmlparse.c:92:3:错误:#error您不支持任何高质量熵源   启用。对于最终用户的安全性,这可能不是您想要的。   您的选择包括:* Linux + glibc> = 2.25(getrandom):   HAVE_GETRANDOM,* Linux + glibc< 2.25(系统调用SYS_getrandom):   HAVE_SYSCALL_GETRANDOM,* BSD / macOS> = 10.7(arc4random_buf):   HAVE_ARC4RANDOM_BUF,* BSD / macOS< 10.7(arc4random):   HAVE_ARC4RANDOM,* libbsd(arc4random_buf):HAVE_ARC4RANDOM_BUF +   HAVE_LIBBSD,* libbsd(arc4random):HAVE_ARC4RANDOM + HAVE_LIBBSD,*   Linux / BSD / macOS(/ dev / urandom):XML_DEV_URANDOM * Windows   (RtlGenRandom):_ WIN32。如果坚持不使用任何这些,请绕过   定义XML_POOR_ENTROPY时出现此错误;你被警告了。如果你   有理由修补此检测代码或需要更改   构建系统,请打开一个bug。谢谢!

我用谷歌搜索,我还没有看到这个错误。

最后一点。我尝试了./configure的各种排列,删除了各种功能标志,但总是保留前缀

有人可以建议为什么这会失败? (以及如何修复它)这是第一次发生在我身上,我非常强烈地怀疑我忘了安装一些东西,但expat和libexpat都在那里。

我的谢谢

1 个答案:

答案 0 :(得分:1)

好的,所以这个答案是一个解决方法,为了我的需要,它就足够了。 我记得SUSE有一个开放的构建服务(ROCKS \ m / - https://build.opensuse.org/

从那里,我找到了一些有进取心的开发人员为Python 3.6.3创建了一个回购(我将给他们发送一封电子邮件,以了解他们是如何做到的)

但是添加repo [http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_Leap_42.3/]然后进行repo特定发行版升级(zypper dup --repo python3.6.3)这是一个简单的问题

为了更加安全,我创建了一个btrfs快照,所以如果事情横向发展我可以回滚......他们没有,我是一个快乐的露营者。

Python 3.6.3 repo:Python 3.6.3 repo on OBS