-
Notifications
You must be signed in to change notification settings - Fork 46
subprocess32 fails to compile on ancient RHEL/CentOS 5 & manylinux1 wheels - O_CLOEXEC and HAVE_PIPE2 related? #12
Comments
Looks like Should note that the manylinux1 spec also requires glibc <= 2.5, so I think that means this package cannot be packaged as a manylinux1 wheel as is. |
This should address issue #12 compiling on ancient Linux distros.
any idea when 3.2.8 with this fix will be released? |
I have the exact same issue that we are also using RHEL 5... |
I successfully resolved the issue by uncomment the PIPE2 macro parts.
If necessary, code blocks related to O_CLOEXEC may also be removed. |
+1 still can't build a manylinux wheel on CentOS 5 |
The manylinux environment described in https://github.com/pypa/manylinux is extremely old, I believe it would result in a module with substandard correctness, not just performance. RHEL 5 and CentOS 5 are long past their lifetime. I may consider pull requests, but I'm not going to spend time in such environments banging on things to get them to work. |
can anyone test the current top of tree on RHEL or CentOS 5 and/or try a manylinux wheel build and report back? |
Yes, thanks - current master does seem to compile on the manylinux docker image. I also tested automated wheel builds, built from https://github.com/MacPython/subprocess32-wheels - build and tests listed at https://travis-ci.org/MacPython/subprocess32-wheels, built wheels uploaded (automatically) to https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com from whence they can be tested. Any chance of a release with this fix? |
I just pushed a sdist (source) release of 3.5.0rc1. |
Closing this as it sounds like the build was fixed. I'm tracking if a manylinux1 wheel makes sense in #14. |
…ease version of subprocess32. google/python-subprocess32#12
…ease version of subprocess32. google/python-subprocess32#12
OS:RHEL 5.11
PYTHON:2.7.11/12
When i use pip or python install to install this extension:
pip install subprocess32-3.2.7.tar.gz
The error messages:
Processing ./subprocess32-3.2.7.tar.gz
Installing collected packages: subprocess32
Running setup.py install for subprocess32 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-ekkMER-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-EebZzY-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying subprocess32.py -> build/lib.linux-x86_64-2.7
running build_ext
building '_posixsubprocess' extension
creating build/temp.linux-x86_64-2.7
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/python-2.7/include/python2.7 -c _posixsubprocess.c -o build/temp.linux-x86_64-2.7/_posixsubprocess.o
_posixsubprocess.c: In function 'subprocess_cloexec_pipe':
_posixsubprocess.c:764: warning: implicit declaration of function 'pipe2'
_posixsubprocess.c:764: error: 'O_CLOEXEC' undeclared (first use in this function)
_posixsubprocess.c:764: error: (Each undeclared identifier is reported only once
_posixsubprocess.c:764: error: for each function it appears in.)
error: command 'gcc' failed with exit status 1
Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-ekkMER-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-EebZzY-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-ekkMER-build/
The text was updated successfully, but these errors were encountered: