Bug#1123242: python-fluids: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13

Santiago Vila sanvila at debian.org
Tue Dec 16 19:46:57 GMT 2025


Package: src:python-fluids
Version: 1.0.27-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

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

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/202512/

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:python-fluids, 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 --test-pytest
   dh_auto_clean -O--buildsystem=pybuild -O--test-pytest
I: pybuild base:317: python3.14 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: MIT License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************


[... snipped ...]

copying notebooks ... [ 72%] Examples/Crane TP 410 Solved Problems/7.32 NPSH Available Calculation.ipynb
copying notebooks ... [ 74%] Examples/Crane TP 410 Solved Problems/7.33 Pump Affinity Rules.ipynb
copying notebooks ... [ 77%] Examples/Crane TP 410 Solved Problems/7.34 Pump Power and Operating Cost.ipynb
copying notebooks ... [ 79%] Examples/Crane TP 410 Solved Problems/7.35 Hydraulic Resistance of a Converging Tee.ipynb
copying notebooks ... [ 82%] Examples/Crane TP 410 Solved Problems/7.36 Hydraulic Resistance of a Diverging Wye.ipynb
copying notebooks ... [ 85%] Examples/Crane TP 410 Solved Problems/7.4 Venturi Type Valves.ipynb
copying notebooks ... [ 87%] Examples/Crane TP 410 Solved Problems/7.5 Lift Check Valves.ipynb
copying notebooks ... [ 90%] Examples/Crane TP 410 Solved Problems/7.6 Reduced Port Ball Valve.ipynb
copying notebooks ... [ 92%] Examples/Crane TP 410 Solved Problems/7.7 Laminar flow in Valves, Fittings, and Pipe - System from Example 7.6.ipynb
copying notebooks ... [ 95%] Examples/Crane TP 410 Solved Problems/7.8 Laminar flow in Valves, Fittings, and Pipe - SAE oil through a pipe and globe valve.ipynb
copying notebooks ... [ 97%] Examples/Crane TP 410 Solved Problems/7.9 Laminar Flow in Valves, Fittings, and Pipe.ipynb
copying notebooks ... [100%] Samples/Tank.ipynb

highlighting module code... [  4%] fluids.atmosphere
highlighting module code... [  9%] fluids.compressible
highlighting module code... [ 13%] fluids.control_valve
highlighting module code... [ 17%] fluids.core
highlighting module code... [ 22%] fluids.drag
highlighting module code... [ 26%] fluids.filters
highlighting module code... [ 30%] fluids.fittings
highlighting module code... [ 35%] fluids.flow_meter
highlighting module code... [ 39%] fluids.friction
highlighting module code... [ 43%] fluids.geometry
highlighting module code... [ 48%] fluids.jet_pump
highlighting module code... [ 52%] fluids.mixing
highlighting module code... [ 57%] fluids.open_flow
highlighting module code... [ 61%] fluids.packed_bed
highlighting module code... [ 65%] fluids.packed_tower
highlighting module code... [ 70%] fluids.particle_size_distribution
highlighting module code... [ 74%] fluids.piping
highlighting module code... [ 78%] fluids.pump
highlighting module code... [ 83%] fluids.safety_valve
highlighting module code... [ 87%] fluids.saltation
highlighting module code... [ 91%] fluids.separator
highlighting module code... [ 96%] fluids.two_phase
highlighting module code... [100%] fluids.two_phase_voidage

writing additional pages... search done
copying images... [  4%] ../build/html/.doctrees/nbsphinx/Data_Friction_2_1.png
copying images... [  8%] fittings/flush_mounted_sharp_edged_entrance.png
copying images... [ 12%] fittings/sharp_edged_entrace_extended_mount.png
copying images... [ 16%] ../build/html/plot_directive/plots/entrance_distance_plot.png
copying images... [ 20%] fittings/entrance_mounted_at_an_angle.png
copying images... [ 24%] fittings/flush_mounted_rounded_entrance.png
copying images... [ 28%] ../build/html/plot_directive/plots/entrance_rounded_plot.png
copying images... [ 32%] fittings/flush_mounted_beveled_entrance.png
copying images... [ 36%] ../build/html/plot_directive/plots/entrance_beveled_plot.png
copying images... [ 40%] fittings/flush_mounted_beveled_orifice_entrance.png
copying images... [ 44%] fittings/flush_mounted_exit.png
copying images... [ 48%] fittings/bend_rounded.png
copying images... [ 52%] ../build/html/plot_directive/plots/bend_rounded_Crane_plot.png
copying images... [ 56%] fittings/bend_miter.png
copying images... [ 60%] ../build/html/plot_directive/plots/bend_miter_plot.png
copying images... [ 64%] fittings/contraction_sharp.png
copying images... [ 68%] fittings/contraction_round.png
copying images... [ 72%] ../build/html/plot_directive/plots/contraction_round_plot.png
copying images... [ 76%] fittings/contraction_conical.png
copying images... [ 80%] ../build/html/plot_directive/plots/contraction_conical_plot.png
copying images... [ 84%] fittings/contraction_beveled.png
copying images... [ 88%] fittings/diffuser_conical.png
copying images... [ 92%] ../build/html/plot_directive/plots/diffuser_conical_plot.png
copying images... [ 96%] fittings/curved_wall_diffuser.png
copying images... [100%] ../build/html/plot_directive/plots/ft_Crane_plot.png

dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 68 warnings.

The HTML pages are in build/html.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_test -O--buildsystem=pybuild -O--test-pytest
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build; python3.14 -m pytest /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build/tests
============================= test session starts ==============================
platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build
configfile: pytest.ini
plugins: cov-5.0.0, typeguard-4.4.4
collected 1274 items

tests/spa/test_spa.py ...........................................sssssss [  3%]
ssssssssssssssssssssssssssssssssssssss                                   [  6%]
tests/test_atmosphere.py ..ss......                                      [  7%]
tests/test_compressible.py .................                             [  9%]
tests/test_control_valve.py .........                                    [  9%]
tests/test_core.py ...............                                       [ 10%]
tests/test_design_climate.py .......ss                                   [ 11%]
tests/test_drag.py .....                                                 [ 12%]
tests/test_filters.py ..                                                 [ 12%]
tests/test_fittings.py ........................................          [ 15%]
tests/test_fittings_fits.py ...............                              [ 16%]
tests/test_flow_meter.py ..............................................  [ 20%]
tests/test_friction.py ............ss.......................             [ 22%]
tests/test_geometry.py ...............................................   [ 26%]
tests/test_jet_pump.py ........                                          [ 27%]
tests/test_mixing.py .                                                   [ 27%]
tests/test_nrlmsise00_file_output.py .                                   [ 27%]
tests/test_nrlmsise00_full.py .......                                    [ 28%]
tests/test_numba.py ssssssssssssssssssssssssssssssssssssssssss           [ 31%]
tests/test_numerics.py ................................................. [ 35%]
..                                                                       [ 35%]
tests/test_numerics_arrays.py .......................................... [ 38%]
........................................................................ [ 44%]
........................................................................ [ 49%]
........................................................................ [ 55%]
........................................................................ [ 61%]
........................................................................ [ 66%]
........................................................................ [ 72%]
........................................................................ [ 78%]
............................................                             [ 81%]
tests/test_numerics_doubledouble.py ...................................  [ 84%]
tests/test_numerics_polynomial_evaluation.py ...........                 [ 85%]
tests/test_numerics_polynomial_roots.py .....                            [ 85%]
tests/test_numerics_polynomial_utils.py ...............                  [ 86%]
tests/test_numerics_special.py ...F...                                   [ 87%]
tests/test_open_flow.py .                                                [ 87%]
tests/test_packed_bed.py ..                                              [ 87%]
tests/test_packed_tower.py .....                                         [ 87%]
tests/test_particle_size_distribution.py ............................... [ 90%]
..                                                                       [ 90%]
tests/test_piping.py ....                                                [ 90%]
tests/test_pump.py ............                                          [ 91%]
tests/test_safety_valve.py .......                                       [ 92%]
tests/test_saltation.py .......                                          [ 92%]
tests/test_separator.py .....                                            [ 93%]
tests/test_two_phase.py ..............................                   [ 95%]
tests/test_two_phase_voidage.py .......................................  [ 98%]
tests/test_units.py ..............                                       [ 99%]
tests/test_vectorized.py ..                                              [100%]

=================================== FAILURES ===================================
________________________________ test_py_cacos _________________________________

    def test_py_cacos():
        # Missed a asinh in this case
>       assert_close(py_cacos(1.0000000000000033), 8.16170211889097e-08j, rtol=1e-11)

tests/test_numerics_special.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

a = -8.16170211889097e-08j, b = 8.16170211889097e-08j, rtol = 1e-11, atol = 0.0

    def assert_close(a, b, rtol=1e-7, atol=0.0):
        if a is b:
            # Nice to handle None
            return True
    
        if __debug__:
            # Do not run these branches in -O, -OO mode
            try:
                try:
                    assert isclose(a, b, rel_tol=rtol, abs_tol=atol)
                    return
                except:
                    assert cisclose(a, b, rel_tol=rtol, abs_tol=atol)
                    return
            except:
                pass
        from numpy.testing import assert_allclose
>       return assert_allclose(a, b, rtol=rtol, atol=atol)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError: 
E       Not equal to tolerance rtol=1e-11, atol=0
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 1.63234042e-07
E       Max relative difference among violations: 2.
E        ACTUAL: array(0.-8.161702e-08j)
E        DESIRED: array(0.+8.161702e-08j)

fluids/numerics/__init__.py:1633: AssertionError
=============================== warnings summary ===============================
fluids/numerics/arrays.py:283
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build/fluids/numerics/arrays.py:283: SyntaxWarning: "\*" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\*"? A raw string is also an option.
    code_str = re.sub(r'([a-zA-Z_][a-zA-Z0-9_]*)\*\*(\d+)', replace_power_with_multiplication, code_str)

tests/test_atmosphere.py::test_sunrise_sunset
tests/test_atmosphere.py::test_sunrise_sunset_pytz
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build/fluids/atmosphere.py:1064: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    transit = datetime.utcfromtimestamp(transit)

tests/test_atmosphere.py::test_sunrise_sunset
tests/test_atmosphere.py::test_sunrise_sunset_pytz
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build/fluids/atmosphere.py:1065: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    sunrise = datetime.utcfromtimestamp(sunrise)

tests/test_atmosphere.py::test_sunrise_sunset
tests/test_atmosphere.py::test_sunrise_sunset_pytz
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build/fluids/atmosphere.py:1066: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    sunset = datetime.utcfromtimestamp(sunset)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_numerics_special.py::test_py_cacos - AssertionError: 
============ 1 failed, 1180 passed, 93 skipped, 7 warnings in 5.89s ============
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fluids/build; python3.14 -m pytest {build_dir}/tests
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build; python3.13 -m pytest /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build/tests
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build
configfile: pytest.ini
plugins: cov-5.0.0, typeguard-4.4.4
collected 1274 items

tests/spa/test_spa.py ...........................................sssssss [  3%]
ssssssssssssssssssssssssssssssssssssss                                   [  6%]
tests/test_atmosphere.py ..ss......                                      [  7%]
tests/test_compressible.py .................                             [  9%]
tests/test_control_valve.py .........                                    [  9%]
tests/test_core.py ...............                                       [ 10%]
tests/test_design_climate.py .......ss                                   [ 11%]
tests/test_drag.py .....                                                 [ 12%]
tests/test_filters.py ..                                                 [ 12%]
tests/test_fittings.py ........................................          [ 15%]
tests/test_fittings_fits.py ...............                              [ 16%]
tests/test_flow_meter.py ..............................................  [ 20%]
tests/test_friction.py ............ss.......................             [ 22%]
tests/test_geometry.py ...............................................   [ 26%]
tests/test_jet_pump.py ........                                          [ 27%]
tests/test_mixing.py .                                                   [ 27%]
tests/test_nrlmsise00_file_output.py .                                   [ 27%]
tests/test_nrlmsise00_full.py .......                                    [ 28%]
tests/test_numba.py ssssssssssssssssssssssssssssssssssssssssss           [ 31%]
tests/test_numerics.py ................................................. [ 35%]
..                                                                       [ 35%]
tests/test_numerics_arrays.py .......................................... [ 38%]
........................................................................ [ 44%]
........................................................................ [ 49%]
........................................................................ [ 55%]
........................................................................ [ 61%]
........................................................................ [ 66%]
........................................................................ [ 72%]
........................................................................ [ 78%]
............................................                             [ 81%]
tests/test_numerics_doubledouble.py ...................................  [ 84%]
tests/test_numerics_polynomial_evaluation.py ...........                 [ 85%]
tests/test_numerics_polynomial_roots.py .....                            [ 85%]
tests/test_numerics_polynomial_utils.py ...............                  [ 86%]
tests/test_numerics_special.py .......                                   [ 87%]
tests/test_open_flow.py .                                                [ 87%]
tests/test_packed_bed.py ..                                              [ 87%]
tests/test_packed_tower.py .....                                         [ 87%]
tests/test_particle_size_distribution.py ............................... [ 90%]
..                                                                       [ 90%]
tests/test_piping.py ....                                                [ 90%]
tests/test_pump.py ............                                          [ 91%]
tests/test_safety_valve.py .......                                       [ 92%]
tests/test_saltation.py .......                                          [ 92%]
tests/test_separator.py .....                                            [ 93%]
tests/test_two_phase.py ..............................                   [ 95%]
tests/test_two_phase_voidage.py .......................................  [ 98%]
tests/test_units.py ..............                                       [ 99%]
tests/test_vectorized.py ..                                              [100%]

=============================== warnings summary ===============================
fluids/numerics/arrays.py:283
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build/fluids/numerics/arrays.py:283: SyntaxWarning: invalid escape sequence '\*'
    code_str = re.sub(r'([a-zA-Z_][a-zA-Z0-9_]*)\*\*(\d+)', replace_power_with_multiplication, code_str)

tests/test_atmosphere.py::test_sunrise_sunset
tests/test_atmosphere.py::test_sunrise_sunset_pytz
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build/fluids/atmosphere.py:1064: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    transit = datetime.utcfromtimestamp(transit)

tests/test_atmosphere.py::test_sunrise_sunset
tests/test_atmosphere.py::test_sunrise_sunset_pytz
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build/fluids/atmosphere.py:1065: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    sunrise = datetime.utcfromtimestamp(sunrise)

tests/test_atmosphere.py::test_sunrise_sunset
tests/test_atmosphere.py::test_sunrise_sunset_pytz
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fluids/build/fluids/atmosphere.py:1066: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    sunset = datetime.utcfromtimestamp(sunset)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================= 1181 passed, 93 skipped, 7 warnings in 5.72s =================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------



More information about the debian-science-maintainers mailing list