Bug#1052817: sarsen: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13
Lucas Nussbaum
lucas at debian.org
Tue Sep 26 14:23:57 BST 2023
Source: sarsen
Version: 0.9.3+ds-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20230925 ftbfs-trixie
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,numpy3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:110: Building wheel for python3.11 with "build" module
> I: pybuild base:291: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/sarsen
> copying sarsen/datamodel.py -> build/lib/sarsen
> copying sarsen/sentinel1.py -> build/lib/sarsen
> copying sarsen/apps.py -> build/lib/sarsen
> copying sarsen/__main__.py -> build/lib/sarsen
> copying sarsen/version.py -> build/lib/sarsen
> copying sarsen/__init__.py -> build/lib/sarsen
> copying sarsen/scene.py -> build/lib/sarsen
> copying sarsen/geocoding.py -> build/lib/sarsen
> copying sarsen/radiometry.py -> build/lib/sarsen
> copying sarsen/chunking.py -> build/lib/sarsen
> copying sarsen/orbit.py -> build/lib/sarsen
> running egg_info
> creating sarsen.egg-info
> writing sarsen.egg-info/PKG-INFO
> writing dependency_links to sarsen.egg-info/dependency_links.txt
> writing entry points to sarsen.egg-info/entry_points.txt
> writing requirements to sarsen.egg-info/requires.txt
> writing top-level names to sarsen.egg-info/top_level.txt
> writing manifest file 'sarsen.egg-info/SOURCES.txt'
> reading manifest file 'sarsen.egg-info/SOURCES.txt'
> adding license file 'LICENSE'
> writing manifest file 'sarsen.egg-info/SOURCES.txt'
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/datamodel.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/sentinel1.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/apps.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/__main__.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/version.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/__init__.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/scene.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/geocoding.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/radiometry.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/chunking.py -> build/bdist.linux-x86_64/wheel/sarsen
> copying build/lib/sarsen/orbit.py -> build/bdist.linux-x86_64/wheel/sarsen
> running install_egg_info
> Copying sarsen.egg-info to build/bdist.linux-x86_64/wheel/sarsen-0.9.3+ds.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/sarsen-0.9.3+ds.dist-info/WHEEL
> creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/.tmp-rvr8w5nz/sarsen-0.9.3+ds-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'sarsen/__init__.py'
> adding 'sarsen/__main__.py'
> adding 'sarsen/apps.py'
> adding 'sarsen/chunking.py'
> adding 'sarsen/datamodel.py'
> adding 'sarsen/geocoding.py'
> adding 'sarsen/orbit.py'
> adding 'sarsen/radiometry.py'
> adding 'sarsen/scene.py'
> adding 'sarsen/sentinel1.py'
> adding 'sarsen/version.py'
> adding 'sarsen-0.9.3+ds.dist-info/LICENSE'
> adding 'sarsen-0.9.3+ds.dist-info/METADATA'
> adding 'sarsen-0.9.3+ds.dist-info/WHEEL'
> adding 'sarsen-0.9.3+ds.dist-info/entry_points.txt'
> adding 'sarsen-0.9.3+ds.dist-info/top_level.txt'
> adding 'sarsen-0.9.3+ds.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built sarsen-0.9.3+ds-py3-none-any.whl
> I: pybuild plugin_pyproject:122: Unpacking wheel built for python3.11 with "installer" module
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:291: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build
> collected 30 items
>
> tests/test_10_chunking.py ... [ 10%]
> tests/test_10_datamodel.py . [ 13%]
> tests/test_10_orbit.py .. [ 20%]
> tests/test_10_scene.py ..F [ 30%]
> tests/test_20_geocoding.py ... [ 40%]
> tests/test_20_sentinel1.py ... [ 50%]
> tests/test_30_radiometry.py F [ 53%]
> tests/test_50_apps.py ssssssssssss [ 93%]
> tests/test_60_main.py . [ 96%]
> tests/test_90_sarsen.py . [100%]
>
> =================================== FAILURES ===================================
> ________________________ test_compute_dem_oriented_area ________________________
>
> dem_raster = <xarray.DataArray 'dem' (y: 360, x: 360)>
> [129600 values with dtype=float32]
> Coordinates:
> * x (x) float64....05
> spatial_ref int64 ...
> Attributes:
> AREA_OR_POINT: Area
> units: m
> long_name: elevation
>
> def test_compute_dem_oriented_area(dem_raster: xr.DataArray) -> None:
> dem_3d = scene.convert_to_dem_3d(dem_raster)
>
> > res = scene.compute_dem_oriented_area(dem_3d)
>
> tests/test_10_scene.py:39:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> sarsen/scene.py:110: in compute_dem_oriented_area
> cross_2 = xr.cross(dx2, dy2, dim="axis") / 2
> /usr/lib/python3/dist-packages/xarray/core/computation.py:1609: in cross
> c = apply_ufunc(
> /usr/lib/python3/dist-packages/xarray/core/computation.py:1197: in apply_ufunc
> return apply_dataarray_vfunc(
> /usr/lib/python3/dist-packages/xarray/core/computation.py:288: in apply_dataarray_vfunc
> args = deep_align(
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:847: in deep_align
> aligned = align(
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:783: in align
> aligner.align()
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:568: in align
> self.align_indexes()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <xarray.core.alignment.Aligner object at 0x7f6d18e7bbd0>
>
> def align_indexes(self) -> None:
> """Compute all aligned indexes and their corresponding coordinate variables."""
>
> aligned_indexes = {}
> aligned_index_vars = {}
> reindex = {}
> new_indexes = {}
> new_index_vars = {}
>
> for key, matching_indexes in self.all_indexes.items():
> matching_index_vars = self.all_index_vars[key]
> dims = {d for coord in matching_index_vars[0].values() for d in coord.dims}
> index_cls = key[1]
>
> if self.join == "override":
> joined_index = matching_indexes[0]
> joined_index_vars = matching_index_vars[0]
> need_reindex = False
> elif key in self.indexes:
> joined_index = self.indexes[key]
> joined_index_vars = self.index_vars[key]
> cmp_indexes = list(
> zip(
> [joined_index] + matching_indexes,
> [joined_index_vars] + matching_index_vars,
> )
> )
> need_reindex = self._need_reindex(dims, cmp_indexes)
> else:
> if len(matching_indexes) > 1:
> need_reindex = self._need_reindex(
> dims,
> list(zip(matching_indexes, matching_index_vars)),
> )
> else:
> need_reindex = False
> if need_reindex:
> if self.join == "exact":
> > raise ValueError(
> "cannot align objects with join='exact' where "
> "index/labels/sizes are not equal along "
> "these coordinates (dimensions): "
> + ", ".join(f"{name!r} {dims!r}" for name, dims in key[0])
> )
> E ValueError: cannot align objects with join='exact' where index/labels/sizes are not equal along these coordinates (dimensions): 'x' ('x',)
>
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:415: ValueError
> ___________________________ test_compute_gamma_area ____________________________
>
> dem_ecef = <xarray.DataArray 'dem_3d' (axis: 3, y: 360, x: 360)>
> array([[[4639071.14581699, 4639064.72787912, 4639056.85736609, .... 0
> * y (y) float64 41.95 41.95 41.95 41.95 ... 42.05 42.05 42.05 42.05
> * axis (axis) int64 0 1 2
>
> def test_compute_gamma_area(dem_ecef: xr.DataArray) -> None:
> dem_direction = xr.DataArray()
> > res = radiometry.compute_gamma_area(dem_ecef, dem_direction)
>
> tests/test_30_radiometry.py:8:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> sarsen/radiometry.py:56: in compute_gamma_area
> dem_oriented_area = scene.compute_dem_oriented_area(dem_ecef)
> sarsen/scene.py:110: in compute_dem_oriented_area
> cross_2 = xr.cross(dx2, dy2, dim="axis") / 2
> /usr/lib/python3/dist-packages/xarray/core/computation.py:1609: in cross
> c = apply_ufunc(
> /usr/lib/python3/dist-packages/xarray/core/computation.py:1197: in apply_ufunc
> return apply_dataarray_vfunc(
> /usr/lib/python3/dist-packages/xarray/core/computation.py:288: in apply_dataarray_vfunc
> args = deep_align(
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:847: in deep_align
> aligned = align(
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:783: in align
> aligner.align()
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:568: in align
> self.align_indexes()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <xarray.core.alignment.Aligner object at 0x7f6d188a1450>
>
> def align_indexes(self) -> None:
> """Compute all aligned indexes and their corresponding coordinate variables."""
>
> aligned_indexes = {}
> aligned_index_vars = {}
> reindex = {}
> new_indexes = {}
> new_index_vars = {}
>
> for key, matching_indexes in self.all_indexes.items():
> matching_index_vars = self.all_index_vars[key]
> dims = {d for coord in matching_index_vars[0].values() for d in coord.dims}
> index_cls = key[1]
>
> if self.join == "override":
> joined_index = matching_indexes[0]
> joined_index_vars = matching_index_vars[0]
> need_reindex = False
> elif key in self.indexes:
> joined_index = self.indexes[key]
> joined_index_vars = self.index_vars[key]
> cmp_indexes = list(
> zip(
> [joined_index] + matching_indexes,
> [joined_index_vars] + matching_index_vars,
> )
> )
> need_reindex = self._need_reindex(dims, cmp_indexes)
> else:
> if len(matching_indexes) > 1:
> need_reindex = self._need_reindex(
> dims,
> list(zip(matching_indexes, matching_index_vars)),
> )
> else:
> need_reindex = False
> if need_reindex:
> if self.join == "exact":
> > raise ValueError(
> "cannot align objects with join='exact' where "
> "index/labels/sizes are not equal along "
> "these coordinates (dimensions): "
> + ", ".join(f"{name!r} {dims!r}" for name, dims in key[0])
> )
> E ValueError: cannot align objects with join='exact' where index/labels/sizes are not equal along these coordinates (dimensions): 'x' ('x',)
>
> /usr/lib/python3/dist-packages/xarray/core/alignment.py:415: ValueError
> =============================== warnings summary ===============================
> ../../../../../../usr/lib/python3/dist-packages/xarray_sentinel/esa_safe.py:7
> /usr/lib/python3/dist-packages/xarray_sentinel/esa_safe.py:7: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
> import pkg_resources
>
> tests/test_20_geocoding.py::test_secant_method
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sarsen/geocoding.py:46: RuntimeWarning: invalid value encountered in divide
> t_prev, t_curr = t_curr, t_curr - np.where(q != 0, p / q, 0) # type: ignore
>
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
> /usr/lib/python3/dist-packages/rioxarray/_io.py:1132: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
> warnings.warn(str(rio_warning.message), type(rio_warning.message)) # type: ignore
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_10_scene.py::test_compute_dem_oriented_area - ValueError: c...
> FAILED tests/test_30_radiometry.py::test_compute_gamma_area - ValueError: can...
> ============ 2 failed, 16 passed, 12 skipped, 9 warnings in 59.08s =============
> E: pybuild pybuild:395: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/09/25/sarsen_0.9.3+ds-2_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&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 mark 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 Pkg-grass-devel
mailing list