[Debian-astro-maintainers] Bug#1022486: healpy: FTBFS: distutils.errors.DistutilsSetupError: each element of 'ext_modules' option must be an Extension instance or 2-tuple

Lucas Nussbaum lucas at debian.org
Sun Oct 23 14:37:00 BST 2022


Source: healpy
Version: 1.15.0-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20221023 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:240: python3.10 setup.py config 
> /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:18: UserWarning: Distutils was imported before Setuptools, but importing Setuptools also replaces the `distutils` module in `sys.modules`. This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed in the traditional way (e.g. not an editable install), and/or make sure that setuptools is always imported before distutils.
>   warnings.warn(
> /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
>   warnings.warn("Setuptools is replacing distutils.")
> /usr/lib/python3/dist-packages/setuptools/_distutils/extension.py:134: UserWarning: Unknown Extension options: 'cython_directives'
>   warnings.warn(msg)
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:240: /usr/bin/python3 setup.py build 
> /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:18: UserWarning: Distutils was imported before Setuptools, but importing Setuptools also replaces the `distutils` module in `sys.modules`. This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed in the traditional way (e.g. not an editable install), and/or make sure that setuptools is always imported before distutils.
>   warnings.warn(
> /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
>   warnings.warn("Setuptools is replacing distutils.")
> /usr/lib/python3/dist-packages/setuptools/_distutils/extension.py:134: UserWarning: Unknown Extension options: 'cython_directives'
>   warnings.warn(msg)
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/pixelfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/sphtfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/visufunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/fitsfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/projector.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/rotator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/projaxes.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/cookbook.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/newvisufunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> copying healpy/zoomtool.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_spinfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_visufunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_rotator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_fitsfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_pixelweights.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_pixelfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_line_integral_convolution.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_query_disc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/test_sphtfunc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> copying healpy/test/conftest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0256.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n02048.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00064.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n8192.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n2048.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00008.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0512.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0016.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0128.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0032.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00512.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n4096.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0002.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00032.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n01024.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00004.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00128.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00256.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n04096.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n08192.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00002.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/weight_ring_n00016.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0004.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n1024.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0064.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/pixel_window_n0008.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> copying healpy/data/totcls.dat -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/data
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_temperature_analysis_mask_r9_7yr_v4_udgraded32.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/map_synfast_seed12345.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/cl_wmap_band_iqumap_r9_7yr_WVxspec_v4_udgraded32_II_lmax64_rmmono_3iter.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_band_iqumap_r9_7yr_W_v4_udgraded32.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_band_iqumap_r9_7yr_W_v4_udgraded32_masked.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/cl_wmap_band_iqumap_r9_7yr_W_v4_udgraded32_II_lmax64_rmmono_3iter_nomask.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/cl_wmap_band_iqumap_r9_7yr_W_v4_udgraded32_IQU_lmax64_rmmono_3iter.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_band_iqumap_r9_7yr_V_v4_udgraded32.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_band_iqumap_r9_7yr_W_v4_udgraded32_masked_smoothed10deg_fortran.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_band_iqumap_r9_7yr_W_v4_udgraded32_smoothed10deg_fortran.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/gaussbeam_10arcmin_lmax512_pol.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/wmap_band_iqumap_r9_7yr_V_v4_udgraded32_masked.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/cl_wmap_band_iqumap_r9_7yr_W_v4_udgraded32_II_lmax64_rmmono_3iter.fits -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> copying healpy/test/data/justq_gal2ecl.fits.gz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_healpy/build/healpy/test/data
> running build_clib
> checking if configure script for library 'cfitsio' exists
> checking if configure script for library 'sharp' exists
> checking if configure script for library 'healpix_cxx' exists
> checking if library 'cfitsio' is installed
> found 'cfitsio' installed, using it
> checking if library 'sharp' is installed
> found 'sharp' installed, using it
> checking if library 'healpix_cxx' is installed
> found 'healpix_cxx' installed, using it
> running build_ext
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/setup.py", line 325, in <module>
>     setup(
>   File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 87, in setup
>     return distutils.core.setup(**attrs)
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 185, in setup
>     return run_commands(dist)
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
>     dist.run_commands()
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 968, in run_commands
>     self.run_command(cmd)
>   File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1217, in run_command
>     super().run_command(command)
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 987, in run_command
>     cmd_obj.run()
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py", line 132, in run
>     self.run_command(cmd_name)
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py", line 319, in run_command
>     self.distribution.run_command(command)
>   File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1217, in run_command
>     super().run_command(command)
>   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 987, in run_command
>     cmd_obj.run()
>   File "/<<PKGBUILDDIR>>/setup.py", line 314, in run
>     build_ext.run(self)
>   File "/usr/lib/python3/dist-packages/Cython/Distutils/old_build_ext.py", line 186, in run
>     _build_ext.build_ext.run(self)
>   File "/usr/lib/python3.10/distutils/command/build_ext.py", line 340, in run
>     self.build_extensions()
>   File "/usr/lib/python3/dist-packages/Cython/Distutils/old_build_ext.py", line 190, in build_extensions
>     self.check_extensions_list(self.extensions)
>   File "/usr/lib/python3.10/distutils/command/build_ext.py", line 362, in check_extensions_list
>     raise DistutilsSetupError(
> distutils.errors.DistutilsSetupError: each element of 'ext_modules' option must be an Extension instance or 2-tuple
> E: pybuild pybuild:379: build: plugin distutils failed with: exit code=1: /usr/bin/python3 setup.py build 
> dh_auto_build: error: pybuild --build -i python{version} -p 3.10 returned exit code 13
> make: *** [debian/rules:12: binary] Error 25


The full build log is available from:
http://qa-logs.debian.net/2022/10/23/healpy_1.15.0-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221023;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221023&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Debian-astro-maintainers mailing list