[Debian-astro-maintainers] Bug#905615: healpy: FTBFS with python 3.7
Aurelien Jarno
aurel32 at debian.org
Tue Aug 7 09:11:24 BST 2018
Source: healpy
Version: 1.11.0-1
Severity: serious
Justification: fails to build from source (but built successfully in the past)
healpy fails to build in the python 3.7 build. From the build log:
...
| x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -flto -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/healpix_cxx -I/usr/include/python3.7m -I/usr/lib/python3/dist-packages/numpy/core/include -c healpy/src/_query_disc.cpp -o build/temp.linux-amd64-3.7/healpy/src/_query_disc.o -fopenmp
| In file included from /usr/include/python3.7m/numpy/ndarraytypes.h:1816:0,
| from /usr/include/python3.7m/numpy/ndarrayobject.h:18,
| from /usr/include/python3.7m/numpy/arrayobject.h:4,
| from healpy/src/_query_disc.cpp:449:
| /usr/include/python3.7m/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
| #warning "Using deprecated NumPy API, disable it by " \
| ^~~~~~~
| healpy/src/_query_disc.cpp: In function 'PyObject* __Pyx_PyCFunction_FastCall(PyObject*, PyObject**, Py_ssize_t)':
| healpy/src/_query_disc.cpp:9364:69: error: too many arguments to function
| return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
| ^
| healpy/src/_query_disc.cpp: In function 'void __Pyx__ExceptionSave(PyThreadState*, PyObject**, PyObject**, PyObject**)':
| healpy/src/_query_disc.cpp:9676:21: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_type'; did you mean 'curexc_type'?
| *type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
| healpy/src/_query_disc.cpp:9677:22: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_value'; did you mean 'curexc_value'?
| *value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
| healpy/src/_query_disc.cpp:9678:19: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_traceback'; did you mean 'curexc_traceback'?
| *tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
| healpy/src/_query_disc.cpp: In function 'void __Pyx__ExceptionReset(PyThreadState*, PyObject*, PyObject*, PyObject*)':
| healpy/src/_query_disc.cpp:9685:24: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_type'; did you mean 'curexc_type'?
| tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
| healpy/src/_query_disc.cpp:9686:25: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_value'; did you mean 'curexc_value'?
| tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
| healpy/src/_query_disc.cpp:9687:22: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_traceback'; did you mean 'curexc_traceback'?
| tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
| healpy/src/_query_disc.cpp:9688:13: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_type'; did you mean 'curexc_type'?
| tstate->exc_type = type;
| ^~~~~~~~
| curexc_type
| healpy/src/_query_disc.cpp:9689:13: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_value'; did you mean 'curexc_value'?
| tstate->exc_value = value;
| ^~~~~~~~~
| curexc_value
| healpy/src/_query_disc.cpp:9690:13: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_traceback'; did you mean 'curexc_traceback'?
| tstate->exc_traceback = tb;
| ^~~~~~~~~~~~~
| curexc_traceback
| healpy/src/_query_disc.cpp: In function 'int __Pyx__GetException(PyThreadState*, PyObject**, PyObject**, PyObject**)':
| healpy/src/_query_disc.cpp:9745:24: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_type'; did you mean 'curexc_type'?
| tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
| healpy/src/_query_disc.cpp:9746:25: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_value'; did you mean 'curexc_value'?
| tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
| healpy/src/_query_disc.cpp:9747:22: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_traceback'; did you mean 'curexc_traceback'?
| tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
| healpy/src/_query_disc.cpp:9748:13: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_type'; did you mean 'curexc_type'?
| tstate->exc_type = local_type;
| ^~~~~~~~
| curexc_type
| healpy/src/_query_disc.cpp:9749:13: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_value'; did you mean 'curexc_value'?
| tstate->exc_value = local_value;
| ^~~~~~~~~
| curexc_value
| healpy/src/_query_disc.cpp:9750:13: error: 'PyThreadState {aka struct _ts}' has no member named 'exc_traceback'; did you mean 'curexc_traceback'?
| tstate->exc_traceback = local_tb;
| ^~~~~~~~~~~~~
| curexc_traceback
| /usr/lib/python3.7/distutils/extension.py:131: UserWarning: Unknown Extension options: 'cython_directives'
| warnings.warn(msg)
| error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
| E: pybuild pybuild:336: build: plugin distutils failed with: exit code=1: /usr/bin/python3.7 setup.py build
| dh_auto_build: pybuild --build --test-pytest -i python{version} -p "3.7 3.6" returned exit code 13
| make: *** [debian/rules:27: build] Error 25
| dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
A full build log is available there:
https://tests.reproducible-builds.org/debian/rbuild/unstable/amd64/healpy_1.11.0-1.rbuild.log.gz
It seems that the issue is due to an incompatibility of the cython code
with Python 3.7: https://github.com/cython/cython/issues/1955
The package should probably build-depends on cython and cython3 and
regenerate all cython generated files during the build.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.17.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE= (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
More information about the Debian-astro-maintainers
mailing list