Bug#1104361: ecmwflibs: FTBFS: ImportError: /lib/x86_64-linux-gnu/libodccore.so.0d: undefined symbol: _ZN5eckit14NotImplementedC1ERKNS_12CodeLocationE
Lucas Nussbaum
lucas at debian.org
Tue Apr 29 13:48:23 BST 2025
Source: ecmwflibs
Version: 2:0.6.3-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20250429 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 --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 /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
> copying ecmwflibs/__main__.py -> /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
> copying ecmwflibs/__init__.py -> /build/reproducible-path/ecmwflibs-0.6.3/.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 -> /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs
> creating /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs/etc
> copying ecmwflibs/etc/README -> /build/reproducible-path/ecmwflibs-0.6.3/.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=/build/reproducible-path/ecmwflibs-0.6.3=. -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=/build/reproducible-path/ecmwflibs-0.6.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -g -O2 -ffile-prefix-map=/build/reproducible-path/ecmwflibs-0.6.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/ecmwflibs/_ecmwflibs.o -L/usr/lib -L/usr/lib/x86_64-linux-gnu -leccodes -lMagPlus -o /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build/ecmwflibs/_ecmwflibs.cpython-313-x86_64-linux-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 /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build; python3.13 -m unittest discover -v
> /build/reproducible-path/ecmwflibs-0.6.3/.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 "/build/reproducible-path/ecmwflibs-0.6.3/.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 /build/reproducible-path/ecmwflibs-0.6.3/.pybuild/cpython3_3.13_ecmwflibs/build; python3.13 -m unittest discover -v
> rm -fr -- /tmp/dh-xdg-rundir-MJRklMYP
> dh_auto_test: error: pybuild --test -i python{version} -p 3.13 returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2025/04/29/ecmwflibs_0.6.3-2_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250429;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250429&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 debian-science-maintainers
mailing list