--- Begin Message ---
Source: cfgrib
Version: 0.9.10.3-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230323 ftbfs-bookworm
Hi,
During a rebuild of all packages in testing (bookworm), your package failed
to build on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> for p in python3.11; do \
> PY3VERNUM=`echo $p | sed -e 's/python//' `; \
> pybuild --test --test-pytest -i $p -p $PY3VERNUM ; \
> done
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build;
> python3.11 -m pytest tests
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>, configfile: pyproject.toml
> collected 117 items / 1 skipped
>
> tests/test_10_cfunits.py . [
> 0%]
> tests/test_20_cfcoords.py ..... [
> 5%]
> tests/test_20_main.py . [
> 5%]
> tests/test_20_messages.py ......... [
> 13%]
> tests/test_25_cfmessage.py ..... [
> 17%]
> tests/test_30_dataset.py ............................ [
> 41%]
> tests/test_40_xarray_store.py .....X.. [
> 48%]
> tests/test_40_xarray_to_grib_regular_ll.py ..... [
> 52%]
> tests/test_50_datamodels.py .. [
> 54%]
> tests/test_50_sample_data.py .....................X.x.FF.x.X.x.XX. [
> 86%]
> tests/test_50_xarray_getitem.py .......... [
> 94%]
> tests/test_50_xarray_plugin.py ......
> [100%]
>
> =================================== FAILURES
> ===================================
> ________________ test_canonical_dataset_to_grib[regular_gg_sfc]
> ________________
>
> grib_name = 'regular_gg_sfc'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib5')
>
> @pytest.mark.parametrize(
> "grib_name",
> [
> pytest.param("era5-levels-members", marks=pytest.mark.xfail),
> "fields_with_missing_values",
> pytest.param("lambert_grid", marks=pytest.mark.xfail),
> "reduced_gg",
> "regular_gg_sfc",
> "regular_gg_pl",
> "regular_gg_ml",
> pytest.param("regular_gg_ml_g2", marks=pytest.mark.xfail),
> "regular_ll_sfc",
> pytest.param("regular_ll_msl", marks=pytest.mark.xfail),
> "scanning_mode_64",
> pytest.param("spherical_harmonics", marks=pytest.mark.xfail),
> "t_analysis_and_fc_0",
> ],
> )
> def test_canonical_dataset_to_grib(grib_name: str, tmpdir: py.path.local)
> -> None:
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + ".grib")
> out_path = str(tmpdir.join(grib_name + ".grib"))
>
> res = xarray_store.open_dataset(grib_path)
>
> with pytest.warns(FutureWarning):
> xarray_to_grib.canonical_dataset_to_grib(res, out_path)
> > reread = xarray_store.open_dataset(out_path)
>
> tests/test_50_sample_data.py:93:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_store.py:39: in open_dataset
> return xr.open_dataset(path, **kwargs) # type: ignore
> /usr/lib/python3/dist-packages/xarray/backends/api.py:541: in open_dataset
> backend_ds = backend.open_dataset(
> cfgrib/xarray_plugin.py:109: in open_dataset
> store = CfGribDataStore(
> cfgrib/xarray_plugin.py:40: in __init__
> self.ds = opener(filename, **backend_kwargs)
> cfgrib/dataset.py:780: in open_file
> return open_from_index(index, read_keys, time_dims, extra_coords,
> **kwargs)
> cfgrib/dataset.py:722: in open_from_index
> dimensions, variables, attributes, encoding = build_dataset_components(
> cfgrib/dataset.py:649: in build_dataset_components
> dims, data_var, coord_vars = build_variable_components(
> cfgrib/dataset.py:525: in build_variable_components
> geo_dims, geo_shape, geo_coord_vars = build_geography_coordinates(first,
> encode_cf, errors)
> cfgrib/dataset.py:388: in build_geography_coordinates
> latitudes = np.array(first["distinctLatitudes"], ndmin=1)
> cfgrib/messages.py:246: in __getitem__
> return self.context[item]
> cfgrib/messages.py:168: in __getitem__
> return self.message_get(key, key_type=key_type)
> cfgrib/messages.py:130: in message_get
> if eccodes.codes_get_size(self.codes_id, item) > 1:
> /usr/lib/python3/dist-packages/gribapi/gribapi.py:599: in grib_get_size
> GRIB_CHECK(err)
> /usr/lib/python3/dist-packages/gribapi/gribapi.py:230: in GRIB_CHECK
> errors.raise_grib_error(errid)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> errid = -16
>
> def raise_grib_error(errid):
> """
> Raise the GribInternalError corresponding to ``errid``.
> """
> > raise ERROR_MAP[errid](errid)
> E gribapi.errors.GeocalculusError: Problem with calculation of
> geographic attributes
>
> /usr/lib/python3/dist-packages/gribapi/errors.py:382: GeocalculusError
> ----------------------------- Captured stderr call
> -----------------------------
> ECCODES ERROR : Failed to find index for latitude=87.864
> ECCODES ERROR : Geoiterator factory: Error instantiating iterator gaussian
> (Problem with calculation of geographic attributes)
> ECCODES ERROR : latitudes: Unable to create iterator
> ________________ test_canonical_dataset_to_grib[regular_gg_pl]
> _________________
>
> grib_name = 'regular_gg_pl'
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-5/test_canonical_dataset_to_grib6')
>
> @pytest.mark.parametrize(
> "grib_name",
> [
> pytest.param("era5-levels-members", marks=pytest.mark.xfail),
> "fields_with_missing_values",
> pytest.param("lambert_grid", marks=pytest.mark.xfail),
> "reduced_gg",
> "regular_gg_sfc",
> "regular_gg_pl",
> "regular_gg_ml",
> pytest.param("regular_gg_ml_g2", marks=pytest.mark.xfail),
> "regular_ll_sfc",
> pytest.param("regular_ll_msl", marks=pytest.mark.xfail),
> "scanning_mode_64",
> pytest.param("spherical_harmonics", marks=pytest.mark.xfail),
> "t_analysis_and_fc_0",
> ],
> )
> def test_canonical_dataset_to_grib(grib_name: str, tmpdir: py.path.local)
> -> None:
> grib_path = os.path.join(SAMPLE_DATA_FOLDER, grib_name + ".grib")
> out_path = str(tmpdir.join(grib_name + ".grib"))
>
> res = xarray_store.open_dataset(grib_path)
>
> with pytest.warns(FutureWarning):
> xarray_to_grib.canonical_dataset_to_grib(res, out_path)
> > reread = xarray_store.open_dataset(out_path)
>
> tests/test_50_sample_data.py:93:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> cfgrib/xarray_store.py:39: in open_dataset
> return xr.open_dataset(path, **kwargs) # type: ignore
> /usr/lib/python3/dist-packages/xarray/backends/api.py:541: in open_dataset
> backend_ds = backend.open_dataset(
> cfgrib/xarray_plugin.py:109: in open_dataset
> store = CfGribDataStore(
> cfgrib/xarray_plugin.py:40: in __init__
> self.ds = opener(filename, **backend_kwargs)
> cfgrib/dataset.py:780: in open_file
> return open_from_index(index, read_keys, time_dims, extra_coords,
> **kwargs)
> cfgrib/dataset.py:722: in open_from_index
> dimensions, variables, attributes, encoding = build_dataset_components(
> cfgrib/dataset.py:649: in build_dataset_components
> dims, data_var, coord_vars = build_variable_components(
> cfgrib/dataset.py:525: in build_variable_components
> geo_dims, geo_shape, geo_coord_vars = build_geography_coordinates(first,
> encode_cf, errors)
> cfgrib/dataset.py:388: in build_geography_coordinates
> latitudes = np.array(first["distinctLatitudes"], ndmin=1)
> cfgrib/messages.py:246: in __getitem__
> return self.context[item]
> cfgrib/messages.py:168: in __getitem__
> return self.message_get(key, key_type=key_type)
> cfgrib/messages.py:130: in message_get
> if eccodes.codes_get_size(self.codes_id, item) > 1:
> /usr/lib/python3/dist-packages/gribapi/gribapi.py:599: in grib_get_size
> GRIB_CHECK(err)
> /usr/lib/python3/dist-packages/gribapi/gribapi.py:230: in GRIB_CHECK
> errors.raise_grib_error(errid)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> errid = -16
>
> def raise_grib_error(errid):
> """
> Raise the GribInternalError corresponding to ``errid``.
> """
> > raise ERROR_MAP[errid](errid)
> E gribapi.errors.GeocalculusError: Problem with calculation of
> geographic attributes
>
> /usr/lib/python3/dist-packages/gribapi/errors.py:382: GeocalculusError
> ----------------------------- Captured stderr call
> -----------------------------
> ECCODES ERROR : Failed to find index for latitude=87.864
> ECCODES ERROR : Geoiterator factory: Error instantiating iterator gaussian
> (Problem with calculation of geographic attributes)
> ECCODES ERROR : latitudes: Unable to create iterator
> =============================== warnings summary
> ===============================
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_20_cfcoords.py::test_coord_translator
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build/cf2cdm/cfcoords.py:80:
> UserWarning: rename 'level' to 'level' does not create an index anymore. Try
> using swap_dims instead or use set_index after rename to create an indexed
> coordinate.
> data = data.rename({match: out_name})
>
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_20_cfcoords.py::test_translate_coords
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_20_cfcoords.py::test_translate_coords_errors
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build/cf2cdm/cfcoords.py:80:
> UserWarning: rename 'step' to 'step' does not create an index anymore. Try
> using swap_dims instead or use set_index after rename to create an indexed
> coordinate.
> data = data.rename({match: out_name})
>
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_50_datamodels.py::test_ecmwf
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build/cf2cdm/cfcoords.py:80:
> UserWarning: rename 'latitude' to 'latitude' does not create an index
> anymore. Try using swap_dims instead or use set_index after rename to create
> an indexed coordinate.
> data = data.rename({match: out_name})
>
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_50_datamodels.py::test_ecmwf
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build/cf2cdm/cfcoords.py:80:
> UserWarning: rename 'longitude' to 'longitude' does not create an index
> anymore. Try using swap_dims instead or use set_index after rename to create
> an indexed coordinate.
> data = data.rename({match: out_name})
>
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_50_datamodels.py::test_ecmwf
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build/cf2cdm/cfcoords.py:80:
> UserWarning: rename 'time' to 'time' does not create an index anymore. Try
> using swap_dims instead or use set_index after rename to create an indexed
> coordinate.
> data = data.rename({match: out_name})
>
> .pybuild/cpython3_3.11_cfgrib/build/tests/test_50_datamodels.py::test_ecmwf
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build/cf2cdm/cfcoords.py:80:
> UserWarning: rename 'number' to 'number' does not create an index anymore.
> Try using swap_dims instead or use set_index after rename to create an
> indexed coordinate.
> data = data.rename({match: out_name})
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED
> tests/test_50_sample_data.py::test_canonical_dataset_to_grib[regular_gg_sfc]
> FAILED
> tests/test_50_sample_data.py::test_canonical_dataset_to_grib[regular_gg_pl]
> == 2 failed, 107 passed, 1 skipped, 3 xfailed, 5 xpassed, 7 warnings in 8.79s
> ==
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cfgrib/build; python3.11 -m pytest
> tests
> make[1]: *** [debian/rules:21: override_dh_auto_test] Error 13
The full build log is available from:
http://qa-logs.debian.net/2023/03/23/cfgrib_0.9.10.3-1_testing.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230323;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230323&fusertaguser=lu...@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.
--- End Message ---