Package: src:astropy
Version: 5.2.1-2
Severity: serious
Control: fixed -1 7.0.1-3
Tags: ftbfs bookworm

Dear maintainer:

During a rebuild of all packages in bookworm, this package failed to build.

[ Note: The bug is marked as fixed with the version in trixie/forky/sid, but
  packages in bookworm must still build in bookworm ].

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/bookworm/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:astropy, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3,sphinxdoc --buildsystem=pybuild
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_clean
I: pybuild base:240: python3.11 setup.py clean 
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build' (and everything under 
it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.11' does not exist -- can't clean it
rm -rf build astropy.egg-info

[... snipped ...]

    
            wmsg = ', 
'.join(['{0} of 
"{1}"'.format(warncounts[w],
 warnmsgs[w])
                              for w in 
warncodes])
>           warnings.warn('ERFA function 
> "{}" yielded 
> {}'.format(func_name, 
> wmsg),
                          ErfaWarning)
E           erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 
of "dubious year (Note 4)"

/usr/lib/python3/dist-packages/erfa/core.py:154: ErfaWarning
____________ ERROR at setup of TestIERS_Auto.test_auto_max_age_none 
____________

self = <class 'astropy.utils.iers.tests.test_iers.TestIERS_Auto'>

    def 
setup_class(self):
        """Set up useful data for the 
tests."""
        self.N = 40
        self.ame = 30.0
        self.iers_a_file_1 = 
get_pkg_data_filename(
            
os.path.join("data", 
"finals2000A-2016-02-30-test")
        )
        self.iers_a_file_2 = 
get_pkg_data_filename(
            
os.path.join("data", 
"finals2000A-2016-04-30-test")
        )
        self.iers_a_url_1 = 
Path(self.iers_a_file_1).as_uri()
        self.iers_a_url_2 = 
Path(self.iers_a_file_2).as_uri()
>       self.t = Time.now() + TimeDelta(10, 
> format="jd") 
> * np.arange(self.N)

astropy/utils/iers/tests/test_iers.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
astropy/time/core.py:2613: in __add__
    out._set_scale(self.scale)
astropy/time/core.py:776: in _set_scale
    jd1, jd2 = conv_func(*args)
/usr/lib/python3/dist-packages/erfa/core.py:16911: in taiutc
    check_errwarn(c_retval, 
'taiutc')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

statcodes = array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 
dtype=int32)
func_name = 'taiutc'

    def check_errwarn(statcodes, 
func_name):
        if not 
numpy.any(statcodes):
            return
        # Remap any errors into warnings in the STATUS_CODES_REMAP 
dict.
        if func_name in 
STATUS_CODES_REMAP:
            for before, after in 
STATUS_CODES_REMAP[func_name].items():
                statcodes[statcodes == before] = after
                STATUS_CODES[func_name][after] = 
STATUS_CODES[func_name][before]
    
        if numpy.any(statcodes < 
0):
            # Errors present - only report the 
errors.
            if statcodes.shape:
                statcodes = statcodes[statcodes < 
0]
    
            errcodes = numpy.unique(statcodes)
    
            errcounts = dict([(e, numpy.sum(statcodes == e)) 
for e in errcodes])
    
            elsemsg = 
STATUS_CODES[func_name].get('else',
 None)
            if elsemsg is 
None:
                errmsgs = dict([(e, 
STATUS_CODES[func_name].get(
                    e, 'Return code 
' + str(e))) for e 
in errcodes])
            else:
                errmsgs = dict([(e, 
STATUS_CODES[func_name].get(
                    e, elsemsg)) for e in 
errcodes])
    
            emsg = ', 
'.join(['{0} of 
"{1}"'.format(errcounts[e],
 errmsgs[e])
                              for e in 
errcodes])
            raise ErfaError('ERFA function 
"{}" yielded 
{}'
                            .format(func_name, emsg))
    
        elif numpy.any(statcodes > 
0):
            # Only warnings present.
            if statcodes.shape:
                statcodes = statcodes[statcodes > 
0]
    
            warncodes = numpy.unique(statcodes)
    
            warncounts = dict([(w, numpy.sum(statcodes == w)) 
for w in warncodes])
    
            elsemsg = 
STATUS_CODES[func_name].get('else',
 None)
            if elsemsg is 
None:
                warnmsgs = dict([(w, 
STATUS_CODES[func_name].get(
                    w, 'Return code 
' + str(w))) for w 
in warncodes])
            else:
                warnmsgs = dict([(w, 
STATUS_CODES[func_name].get(
                    w, elsemsg)) for w in 
warncodes])
    
            wmsg = ', 
'.join(['{0} of 
"{1}"'.format(warncounts[w],
 warnmsgs[w])
                              for w in 
warncodes])
>           warnings.warn('ERFA function 
> "{}" yielded 
> {}'.format(func_name, 
> wmsg),
                          ErfaWarning)
E           erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 
of "dubious year (Note 4)"

/usr/lib/python3/dist-packages/erfa/core.py:154: ErfaWarning
__________ ERROR at setup of TestIERS_Auto.test_auto_max_age_minimum 
___________

self = <class 'astropy.utils.iers.tests.test_iers.TestIERS_Auto'>

    def 
setup_class(self):
        """Set up useful data for the 
tests."""
        self.N = 40
        self.ame = 30.0
        self.iers_a_file_1 = 
get_pkg_data_filename(
            
os.path.join("data", 
"finals2000A-2016-02-30-test")
        )
        self.iers_a_file_2 = 
get_pkg_data_filename(
            
os.path.join("data", 
"finals2000A-2016-04-30-test")
        )
        self.iers_a_url_1 = 
Path(self.iers_a_file_1).as_uri()
        self.iers_a_url_2 = 
Path(self.iers_a_file_2).as_uri()
>       self.t = Time.now() + TimeDelta(10, 
> format="jd") 
> * np.arange(self.N)

astropy/utils/iers/tests/test_iers.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
astropy/time/core.py:2613: in __add__
    out._set_scale(self.scale)
astropy/time/core.py:776: in _set_scale
    jd1, jd2 = conv_func(*args)
/usr/lib/python3/dist-packages/erfa/core.py:16911: in taiutc
    check_errwarn(c_retval, 
'taiutc')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

statcodes = array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 
dtype=int32)
func_name = 'taiutc'

    def check_errwarn(statcodes, 
func_name):
        if not 
numpy.any(statcodes):
            return
        # Remap any errors into warnings in the STATUS_CODES_REMAP 
dict.
        if func_name in 
STATUS_CODES_REMAP:
            for before, after in 
STATUS_CODES_REMAP[func_name].items():
                statcodes[statcodes == before] = after
                STATUS_CODES[func_name][after] = 
STATUS_CODES[func_name][before]
    
        if numpy.any(statcodes < 
0):
            # Errors present - only report the 
errors.
            if statcodes.shape:
                statcodes = statcodes[statcodes < 
0]
    
            errcodes = numpy.unique(statcodes)
    
            errcounts = dict([(e, numpy.sum(statcodes == e)) 
for e in errcodes])
    
            elsemsg = 
STATUS_CODES[func_name].get('else',
 None)
            if elsemsg is 
None:
                errmsgs = dict([(e, 
STATUS_CODES[func_name].get(
                    e, 'Return code 
' + str(e))) for e 
in errcodes])
            else:
                errmsgs = dict([(e, 
STATUS_CODES[func_name].get(
                    e, elsemsg)) for e in 
errcodes])
    
            emsg = ', 
'.join(['{0} of 
"{1}"'.format(errcounts[e],
 errmsgs[e])
                              for e in 
errcodes])
            raise ErfaError('ERFA function 
"{}" yielded 
{}'
                            .format(func_name, emsg))
    
        elif numpy.any(statcodes > 
0):
            # Only warnings present.
            if statcodes.shape:
                statcodes = statcodes[statcodes > 
0]
    
            warncodes = numpy.unique(statcodes)
    
            warncounts = dict([(w, numpy.sum(statcodes == w)) 
for w in warncodes])
    
            elsemsg = 
STATUS_CODES[func_name].get('else',
 None)
            if elsemsg is 
None:
                warnmsgs = dict([(w, 
STATUS_CODES[func_name].get(
                    w, 'Return code 
' + str(w))) for w 
in warncodes])
            else:
                warnmsgs = dict([(w, 
STATUS_CODES[func_name].get(
                    w, elsemsg)) for w in 
warncodes])
    
            wmsg = ', 
'.join(['{0} of 
"{1}"'.format(warncounts[w],
 warnmsgs[w])
                              for w in 
warncodes])
>           warnings.warn('ERFA function 
> "{}" yielded 
> {}'.format(func_name, 
> wmsg),
                          ErfaWarning)
E           erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 
of "dubious year (Note 4)"

/usr/lib/python3/dist-packages/erfa/core.py:154: ErfaWarning
____________ ERROR at setup of TestIERS_Auto.test_no_auto_download 
_____________

self = <class 'astropy.utils.iers.tests.test_iers.TestIERS_Auto'>

    def 
setup_class(self):
        """Set up useful data for the 
tests."""
        self.N = 40
        self.ame = 30.0
        self.iers_a_file_1 = 
get_pkg_data_filename(
            
os.path.join("data", 
"finals2000A-2016-02-30-test")
        )
        self.iers_a_file_2 = 
get_pkg_data_filename(
            
os.path.join("data", 
"finals2000A-2016-04-30-test")
        )
        self.iers_a_url_1 = 
Path(self.iers_a_file_1).as_uri()
        self.iers_a_url_2 = 
Path(self.iers_a_file_2).as_uri()
>       self.t = Time.now() + TimeDelta(10, 
> format="jd") 
> * np.arange(self.N)

astropy/utils/iers/tests/test_iers.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
astropy/time/core.py:2613: in __add__
    out._set_scale(self.scale)
astropy/time/core.py:776: in _set_scale
    jd1, jd2 = conv_func(*args)
/usr/lib/python3/dist-packages/erfa/core.py:16911: in taiutc
    check_errwarn(c_retval, 
'taiutc')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

statcodes = array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 
dtype=int32)
func_name = 'taiutc'

    def check_errwarn(statcodes, 
func_name):
        if not 
numpy.any(statcodes):
            return
        # Remap any errors into warnings in the STATUS_CODES_REMAP 
dict.
        if func_name in 
STATUS_CODES_REMAP:
            for before, after in 
STATUS_CODES_REMAP[func_name].items():
                statcodes[statcodes == before] = after
                STATUS_CODES[func_name][after] = 
STATUS_CODES[func_name][before]
    
        if numpy.any(statcodes < 
0):
            # Errors present - only report the 
errors.
            if statcodes.shape:
                statcodes = statcodes[statcodes < 
0]
    
            errcodes = numpy.unique(statcodes)
    
            errcounts = dict([(e, numpy.sum(statcodes == e)) 
for e in errcodes])
    
            elsemsg = 
STATUS_CODES[func_name].get('else',
 None)
            if elsemsg is 
None:
                errmsgs = dict([(e, 
STATUS_CODES[func_name].get(
                    e, 'Return code 
' + str(e))) for e 
in errcodes])
            else:
                errmsgs = dict([(e, 
STATUS_CODES[func_name].get(
                    e, elsemsg)) for e in 
errcodes])
    
            emsg = ', 
'.join(['{0} of 
"{1}"'.format(errcounts[e],
 errmsgs[e])
                              for e in 
errcodes])
            raise ErfaError('ERFA function 
"{}" yielded 
{}'
                            .format(func_name, emsg))
    
        elif numpy.any(statcodes > 
0):
            # Only warnings present.
            if statcodes.shape:
                statcodes = statcodes[statcodes > 
0]
    
            warncodes = numpy.unique(statcodes)
    
            warncounts = dict([(w, numpy.sum(statcodes == w)) 
for w in warncodes])
    
            elsemsg = 
STATUS_CODES[func_name].get('else',
 None)
            if elsemsg is 
None:
                warnmsgs = dict([(w, 
STATUS_CODES[func_name].get(
                    w, 'Return code 
' + str(w))) for w 
in warncodes])
            else:
                warnmsgs = dict([(w, 
STATUS_CODES[func_name].get(
                    w, elsemsg)) for w in 
warncodes])
    
            wmsg = ', 
'.join(['{0} of 
"{1}"'.format(warncounts[w],
 warnmsgs[w])
                              for w in 
warncodes])
>           warnings.warn('ERFA function 
> "{}" yielded 
> {}'.format(func_name, 
> wmsg),
                          ErfaWarning)
E           erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 
of "dubious year (Note 4)"

/usr/lib/python3/dist-packages/erfa/core.py:154: ErfaWarning
=========================== short test summary info 
============================
ERROR 
astropy/utils/iers/tests/test_iers.py::TestIERS_Auto::test_interpolate_error_formatting
 - erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 of "dubious year 
(...
ERROR 
astropy/utils/iers/tests/test_iers.py::TestIERS_Auto::test_auto_max_age_none
 - erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 of "dubious year 
(...
ERROR 
astropy/utils/iers/tests/test_iers.py::TestIERS_Auto::test_auto_max_age_minimum
 - erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 of "dubious year 
(...
ERROR 
astropy/utils/iers/tests/test_iers.py::TestIERS_Auto::test_no_auto_download
 - erfa.core.ErfaWarning: ERFA function "taiutc" yielded 17 of "dubious year 
(...
= 23322 passed, 588 skipped, 67 deselected, 
117 xfailed, 192 xpassed, 4 errors in 
166.44s (0:02:46) =
E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest 
--astropy-header -m "not hypothesis"
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
returned exit code 13
make[1]: *** [debian/rules:54: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:28: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to