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