Your message dated Sat, 23 May 2026 13:47:18 +0000
with message-id <[email protected]>
and subject line Bug#1137044: fixed in astropy 5.2.1-2+deb12u1
has caused the Debian Bug report #1137044,
regarding astropy: FTBFS in bookworm
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1137044: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1137044
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: astropy
Source-Version: 5.2.1-2+deb12u1
Done: Ole Streicher <[email protected]>

We believe that the bug you reported is fixed in the latest version of
astropy, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ole Streicher <[email protected]> (supplier of updated astropy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 21 May 2026 16:29:29 +0200
Source: astropy
Architecture: source
Version: 5.2.1-2+deb12u1
Distribution: bookworm
Urgency: medium
Maintainer: Debian Astronomy Maintainers 
<[email protected]>
Changed-By: Ole Streicher <[email protected]>
Closes: 1137044
Changes:
 astropy (5.2.1-2+deb12u1) bookworm; urgency=medium
 .
   * Ignore IERS warnings in tests (Closes: #1137044)
Checksums-Sha1:
 3fa8e38c0604258379844d5a9622b90b4501843e 3112 astropy_5.2.1-2+deb12u1.dsc
 f6dbfe8d094f0842a26c9e8dcca098869bdabf25 26144 
astropy_5.2.1-2+deb12u1.debian.tar.xz
Checksums-Sha256:
 2b4212c92b3bcef0403570de006747a7ee2135d71feac3c3e74f96b3b32ee9b7 3112 
astropy_5.2.1-2+deb12u1.dsc
 f92ed05474197336f5ab79cfb2d8a5a965a85c65eb0252047a25c88cc454619c 26144 
astropy_5.2.1-2+deb12u1.debian.tar.xz
Files:
 632a9153ad75d523acb513f6ddd4b504 3112 python optional 
astropy_5.2.1-2+deb12u1.dsc
 7abc1f915895be9fc26e8e8b3b9bd9bd 26144 python optional 
astropy_5.2.1-2+deb12u1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEuvxshffLFD/utvsVcRWv0HcQ3PcFAmoRmC0ACgkQcRWv0HcQ
3Pcp4RAAipiVLpGXhuQHqOVVQmsiFfrft02ASAv0fw4jxjEDl1Hah916Lqqh5XIA
XPJTZ33EC8aZ834saEaMkc5MU2IrUDPwECaBw06vy69nvgaTZFFfR8FhoEkUEDLE
cyxntF752ZSisoqnBDEuis4JnNhiaPpAjc9BspdC18KjqnMYkliQf2kLqRcIDfii
2m32G1MyqExiMefxuS8iqhw5G8jQ3/GMxbYqbswMITZlFnEoZup6yLMY/nXBFEbM
1F1/wVrnDWeAjarg0WQVaeTadr40LuChzUCViivk5qQyRnUgHog/pltwWdxe4Lw3
o+SkJdUVu3aWA+gSr5YcPXL+yr+VzaREzTF1xdKgbtnpHwu1NOaPjdMqeBzjwK47
VVixRWl1c3Pf/2tkJy0gOwiofkE/MjEuiGUrvm82qr1xLTLFsCHd6rgNtk2ZZkk6
0PqX8BqO9HdAJWqLcf2A48uf3+zM1A9wItZY0lR3cuuDEC4IFAJ/FJPkwf/te/Wv
FyGXTBNd7R/KAr1R/4jTIhFLVKdMCv0OZWInr2RGaMaHWVj99A2W0/Z42iD/Gbzi
dv0SzBy99WN48A4RZhhG4PUGndHKLa1ZAyHU9XerGvRhoCB5/GAsoxNrM+E2d0+1
ImC7tgyOxtZRfDmS8GYeIBvr1WSCyU2Zyjhvp3u2i13ByS/5ZDA=
=7KDn
-----END PGP SIGNATURE-----

Attachment: pgptSFrFkq2UY.pgp
Description: PGP signature


--- End Message ---

Reply via email to