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