Bug#1103225: ecmwflibs: FTBFS: ERROR: ecmwflibs (unittest.loader._FailedTest.ecmwflibs)
Santiago Vila
sanvila at debian.org
Tue Apr 15 02:22:20 BST 2025
Package: src:ecmwflibs
Version: 2:0.6.3-2
Severity: serious
Tags: ftbfs trixie sid
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf *.egg-info .eggs .pybuild build
# clean up files we don't want to include
find . -name .gitignore -exec rm {} \;
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
rm -f debian/debhelper-build-stamp
rm -rf debian/.debhelper/
rm -f -- debian/python3-ecmwflibs.substvars debian/files
rm -fr -- debian/python3-ecmwflibs/ debian/tmp/
find . \( \( \
\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
\( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
-o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
-o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
-o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
\) -exec rm -f {} + \) -o \
\( -type d -a \( -name autom4te.cache -o -name __pycache__ \) -prune -exec rm -rf {} + \) \)
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
pybuild --configure -i python{version} -p 3.13
I: pybuild base:311: python3.13 setup.py config
running config
dh_auto_build -O--buildsystem=pybuild
pybuild --build -i python{version} -p 3.13
I: pybuild base:311: /usr/bin/python3 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
copying ecmwflibs/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
copying ecmwflibs/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
running egg_info
creating ecmwflibs.egg-info
writing ecmwflibs.egg-info/PKG-INFO
writing dependency_links to ecmwflibs.egg-info/dependency_links.txt
writing requirements to ecmwflibs.egg-info/requires.txt
writing top-level names to ecmwflibs.egg-info/top_level.txt
writing manifest file 'ecmwflibs.egg-info/SOURCES.txt'
reading manifest file 'ecmwflibs.egg-info/SOURCES.txt'
adding license file 'LICENSE'
adding license file 'NOTICE.md'
writing manifest file 'ecmwflibs.egg-info/SOURCES.txt'
/usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'ecmwflibs.etc' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'ecmwflibs.etc' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'ecmwflibs.etc' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'ecmwflibs.etc' to be distributed and are
already explicitly excluding 'ecmwflibs.etc' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
copying ecmwflibs/_ecmwflibs.cc -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs/etc
copying ecmwflibs/etc/README -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs/etc
running build_ext
building 'ecmwflibs._ecmwflibs' extension
creating build/temp.linux-x86_64-cpython-313/ecmwflibs
x86_64-linux-gnu-g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include -I/usr/include/magics -I/usr/include/python3.13 -c ecmwflibs/_ecmwflibs.cc -o build/temp.linux-x86_64-cpython-313/ecmwflibs/_ecmwflibs.o
In file included from ecmwflibs/_ecmwflibs.cc:5:
/usr/include/magics/magics_config.h:10:9: warning: "HAVE_INTTYPES_H" redefined
10 | #define HAVE_INTTYPES_H
| ^~~~~~~~~~~~~~~
In file included from /usr/include/python3.13/pyconfig.h:3,
from /usr/include/python3.13/Python.h:14,
from ecmwflibs/_ecmwflibs.cc:2:
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:635:9: note: this is the location of the previous definition
635 | #define HAVE_INTTYPES_H 1
| ^~~~~~~~~~~~~~~
/usr/include/magics/magics_config.h:37:9: warning: "HAVE_STDINT_H" redefined
37 | #define HAVE_STDINT_H
| ^~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1250:9: note: this is the location of the previous definition
1250 | #define HAVE_STDINT_H 1
| ^~~~~~~~~~~~~
/usr/include/magics/magics_config.h:40:9: warning: "HAVE_STDLIB_H" redefined
40 | #define HAVE_STDLIB_H
| ^~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1256:9: note: this is the location of the previous definition
1256 | #define HAVE_STDLIB_H 1
| ^~~~~~~~~~~~~
/usr/include/magics/magics_config.h:43:9: warning: "HAVE_STRINGS_H" redefined
43 | #define HAVE_STRINGS_H
| ^~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1265:9: note: this is the location of the previous definition
1265 | #define HAVE_STRINGS_H 1
| ^~~~~~~~~~~~~~
/usr/include/magics/magics_config.h:46:9: warning: "HAVE_STRING_H" redefined
46 | #define HAVE_STRING_H
| ^~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1268:9: note: this is the location of the previous definition
1268 | #define HAVE_STRING_H 1
| ^~~~~~~~~~~~~
/usr/include/magics/magics_config.h:49:9: warning: "HAVE_SYS_STAT_H" redefined
49 | #define HAVE_SYS_STAT_H
| ^~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1417:9: note: this is the location of the previous definition
1417 | #define HAVE_SYS_STAT_H 1
| ^~~~~~~~~~~~~~~
/usr/include/magics/magics_config.h:52:9: warning: "HAVE_SYS_TYPES_H" redefined
52 | #define HAVE_SYS_TYPES_H
| ^~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1441:9: note: this is the location of the previous definition
1441 | #define HAVE_SYS_TYPES_H 1
| ^~~~~~~~~~~~~~~~
/usr/include/magics/magics_config.h:55:9: warning: "HAVE_UNISTD_H" redefined
55 | #define HAVE_UNISTD_H
| ^~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/python3.13/pyconfig.h:1512:9: note: this is the location of the previous definition
1512 | #define HAVE_UNISTD_H 1
| ^~~~~~~~~~~~~
x86_64-linux-gnu-g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR [too-long-redacted] inux-gnu.so -Wl,-rpath,/usr/lib
dh_auto_test -O--buildsystem=pybuild
pybuild --test -i python{version} -p 3.13
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build; python3.13 -m unittest discover -v
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs/__init__.py:82: UserWarning: /lib/x86_64-linux-gnu/libodccore.so.0d: undefined symbol: _ZN5eckit14NotImplementedC1ERKNS_12CodeLocationE
warnings.warn(str(e))
ecmwflibs (unittest.loader._FailedTest.ecmwflibs) ... ERROR
======================================================================
ERROR: ecmwflibs (unittest.loader._FailedTest.ecmwflibs)
----------------------------------------------------------------------
ImportError: Failed to import test module: ecmwflibs
Traceback (most recent call last):
File "/usr/lib/python3.13/unittest/loader.py", line 429, in _find_test_path
package = self._get_module_from_name(name)
File "/usr/lib/python3.13/unittest/loader.py", line 339, in _get_module_from_name
__import__(name)
~~~~~~~~~~^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs/__init__.py", line 79, in <module>
from ._ecmwflibs import versions as _versions
ImportError: /lib/x86_64-linux-gnu/libodccore.so.0d: undefined symbol: _ZN5eckit14NotImplementedC1ERKNS_12CodeLocationE
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ecmwflibs/build; python3.13 -m unittest discover -v
rm -fr -- /tmp/dh-xdg-rundir-9keinmmd
dh_auto_test: error: pybuild --test -i python{version} -p 3.13 returned exit code 13
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202504/
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 could not 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:ecmwflibs, so that this is still
visible in the BTS web page for this package.
Thanks.
More information about the debian-science-maintainers
mailing list