在redhat 5上构建Python 3.2.3:缺少_posixsubprocess
发布时间:2020-12-14 02:54:18 所属栏目:Linux 来源:网络整理
导读:我正在尝试在RHEL 5.7机器上构建 Python3,我成功地构建了Python 3.2.2,其中: # Install required build dependenciesyum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel# Fetch and extract source. Please refer
我正在尝试在RHEL 5.7机器上构建
Python3,我成功地构建了Python 3.2.2,其中:
# Install required build dependencies yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel # Fetch and extract source. Please refer to http://www.python.org/download/releases # to ensure the latest source is used. wget http://www.python.org/ftp/python/3.2/Python-3.2.tar.bz2 tar -xjf Python-3.2.tar.bz2 cd Python-3.2 # Configure the build with a prefix (install dir) of /opt/python3,compile,and install. ./configure --prefix=/opt/python3 make 但我在Python 3.2.3中失败了(?): Failed to build these modules: _posixsubprocess 这是一个应该打扰我的问题吗?我该如何构建它? 这是stderr的输出: ~/tmp/Python-3.2.3 $make > build.log ldd: warning: you do not have execution permission for `/usr/local/lib/libreadline.so' /usr/bin/ld: skipping incompatible /usr/local/lib/libreadline.so when searching for -lreadline /usr/bin/ld: skipping incompatible /usr/local/lib/libreadline.a when searching for -lreadline /home/oznahum/tmp/Python-3.2.3/Modules/_posixsubprocess.c: In function '_close_open_fd_range_safe': /home/oznahum/tmp/Python-3.2.3/Modules/_posixsubprocess.c:205: error: 'O_CLOEXEC' undeclared (first use in this function) /home/oznahum/tmp/Python-3.2.3/Modules/_posixsubprocess.c:205: error: (Each undeclared identifier is reported only once /home/oznahum/tmp/Python-3.2.3/Modules/_posixsubprocess.c:205: error: for each function it appears in.) /usr/bin/ld: skipping incompatible /usr/local/lib/libz.so when searching for -lz /usr/bin/ld: skipping incompatible /usr/local/lib/libz.so when searching for -lz ~/tmp/Python-3.2.3 $grep posix build.log gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -DPy_BUILD_CORE -c ./Modules/posixmodule.c -o Modules/posixmodule.o ar rc libpython3.2m.a Modules/_threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/operator.o Modules/_collectionsmodule.o Modules/itertoolsmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o building '_posixsubprocess' extension gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -IInclude -I/home/oznahum/localroot/include -I. -I./Include -I/usr/local/include -I/home/oznahum/tmp/Python-3.2.3 -c /home/oznahum/tmp/Python-3.2.3/Modules/_posixsubprocess.c -o build/temp.linux-x86_64-3.2/home/oznahum/tmp/Python-3.2.3/Modules/_posixsubprocess.o _posixsubprocess 解决方法
好的……我在这里回答,不要回答这个问题.
我重新下载了Python-3.2.3源并检查它们.他们确实不包括那个补丁. 我重新应用了补丁并在CentOS-5.7和RedHat-5.7上测试了该建筑物.我设法编译没有错误. 所以,我想关键是要正确应用补丁. 我的失败构建在Modules / _posixsubprocess中: 199 static void 200 _close_open_fd_range_safe(int start_fd,int end_fd,PyObject* py_fds_to_keep) 201 { 202 int fd_dir_fd; 203 if (start_fd >= end_fd) 204 return; 205 fd_dir_fd = open(FD_DIR,O_RDONLY | O_CLOEXEC,0); 206 #ifdef O_CLOEXEC 207 fd_dir_fd = open(FD_DIR,0); 208 #else 209 fd_dir_fd = open(FD_DIR,O_RDONLY,0); 210 #ifdef FD_CLOEXEC 第205行应该已被删除… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在Linux上将pptx文件转换为jpg或png(对于每张幻灯片)?
- 使用cygwin中的awk工具进行mysql binlog日志查看[利刃篇]
- Linux 文件与目录管理
- linux – 如何通过SSH成为超级用户
- Linux命令:文件查找相关 Whereis、find和locate+updatedb
- linux – 无法附加到运行Docker容器的bash
- Linux基础试题
- linux – 为什么Java VM进程会占用更多RAM,然后在-Xmx参数中
- linux – epoll_ctl()失败:没有这样的文件或目录[errno =
- linux – 如何抑制从加载的模块的代码中发出的Perl警告?