Any manylinux experts here?

I tried to upgrade the docker used to build my linux packages, but I failed to get a build of python 3.6.0b2


1) I fixed a missing down load for openssl
-OPENSSL_ROOT=openssl-1.0.2h
-OPENSSL_HASH=1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919
+OPENSSL_ROOT=openssl-1.0.2j
+OPENSSL_HASH=e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431

2) I fixed the way the download of python source is done; seems the folder is always the numeric part of the python version and the a0 a1 b2 etc etc must be removed.
-    wget -q $PYTHON_DOWNLOAD_URL/$py_ver/Python-$py_ver.tgz
+    wget -q $PYTHON_DOWNLOAD_URL/${py_ver%[a-z][0-9]}/Python-$py_ver.tgz

3) The build of 3.6.0b2 started OK in the container, but failed with this 
message
+ ./configure --prefix=/opt/_internal/cpython-3.6.0b2 --disable-shared
configure: WARNING: linux/random.h: present but cannot be compiled
configure: WARNING: linux/random.h:     check for missing prerequisite headers?
configure: WARNING: linux/random.h: see the Autoconf documentation
configure: WARNING: linux/random.h:     section "Present But Cannot Be Compiled"
configure: WARNING: linux/random.h: proceeding with the compiler's result
configure: WARNING:     ## --------------------------------------- ##
configure: WARNING:     ## Report this to https://bugs.python.org/ ##
configure: WARNING:     ## --------------------------------------- ##
+ make -j2
Python/dtrace_stubs.o: In function `PyDTrace_LINE':
/Python-3.6.0b2/./Include/pydtrace.h:28: multiple definition of `PyDTrace_LINE'
Python/ceval.o:/Python-3.6.0b2/./Include/pydtrace.h:28: first defined here
Python/dtrace_stubs.o: In function `PyDTrace_FUNCTION_ENTRY':
......
Modules/gcmodule.o: In function `PyDTrace_INSTANCE_DELETE_START_ENABLED':
/Python-3.6.0b2/./Include/pydtrace.h:45: multiple definition of 
`PyDTrace_INSTANCE_DELETE_START_ENABLED'
Python/ceval.o:/Python-3.6.0b2/./Include/pydtrace.h:45: first defined here
Modules/gcmodule.o: In function `PyDTrace_INSTANCE_DELETE_DONE_ENABLED':
/Python-3.6.0b2/./Include/pydtrace.h:46: multiple definition of 
`PyDTrace_INSTANCE_DELETE_DONE_ENABLED'
Python/ceval.o:/Python-3.6.0b2/./Include/pydtrace.h:46: first defined here
collect2: error: ld returned 1 exit status
make: *** [Programs/_freeze_importlib] Error 1

is the pydtrace stuff something new in the beta? I searched and found this issue

https://bugs.python.org/issue28092

which seems related as it's the same centos version used in the dockerfile. As I understand it this means the new sources contain code which prevents compilation in the manylinux environment.
--
Robin Becker
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to