Package: libeckit0d X-Debbugs-Cc: ghisv...@gmail.com Version: 1.29.1-1 Severity: serious Justification: Policy 8.1 Control: affects -1 odc magics++ python-xarray Control: block 1100293 by -1
While investigating a build failure in magics++ [1] i noticed that eckit upstream changed their exception constructors extensively in the 1.29 upstream release https://github.com/ecmwf/eckit/commit/76990068c35a8cd3d9573585a762ae1a2d2454d5#diff-9b7bfdb8788cc84e5099d6294707382018383d212a4bb93d5b84994771cd71f7 This of course breaks abi (and API when not using default arguement values). In the build of python-xarray this manifests in these errors: /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::UserError::UserError(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::SeriousBug::SeriousBug(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::UserError::UserError(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::SeriousBug::SeriousBug(char const*, eckit::CodeLocation const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::NotImplemented::NotImplemented(eckit::CodeLocation const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::CantOpenFile::CantOpenFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, eckit::CodeLocation const&, bool)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libodccore.so.0d: undefined reference to `eckit::FailedSystemCall::FailedSystemCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: error: ld returned 1 exit status Which actually show that libodccore.so.0d uses symbols no longer included in libeckit0d thus failing the link of any library or application linking to libodccore.so.0d. As the soname is a debian downstream patch, this might be that upstream doesn't consider the abi stable across releases. But in debian we need some kind of fix. As debian is long past transition freeze, bumping the soname might no longer be an option. I locally got the broken magics++ build to work by using locally rebuild odc packages. I might also be possible to restore the old exception constructors in a local patch. The build failure blocks builds migrating to testing which causes a autorm cascade of 140 packages. Due to the current freeze status, removal of these packages from trixie will likely be permanent if it is going through. According to the release team packages failing to migrate is itself a RC bug. I set severity to serious in part to avoid this break migrating to testing while there is not yet a plan how to fix this. Regards, - Martin Hostettler [1] https://buildd.debian.org/status/fetch.php?pkg=magics%2B%2B&arch=amd64&ver=4.16.0-1&stamp=1744757609&raw=0 -- System Information: Debian Release: trixie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 6.12.21-amd64 (SMP w/16 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to C.UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect Versions of packages libeckit0d depends on: ii libaec0 1.1.3-1+b1 ii libbz2-1.0 1.0.8-6 ii libc6 2.41-7 ii libcurl3t64-gnutls 8.13.0-2 ii libgcc-s1 14.2.0-19 ii libgomp1 14.2.0-19 ii liblz4-1 1.10.0-4 ii libopenblas0 0.3.29+ds-3 ii libopenmpi40 5.0.7-1 ii libproj25 9.6.0-1 ii libqhull-r8.0 2020.2-6+b2 ii libqhullcpp8.0 2020.2-6+b2 ii librados2 18.2.4+ds-13+b1 ii librsync2t64 2.3.4-1.1+b1 ii libsnappy1v5 1.2.2-1 ii libssl3t64 3.5.0-1 ii libstdc++6 14.2.0-19 ii libtinfo6 6.5+20250216-2 libeckit0d recommends no packages. libeckit0d suggests no packages. -- no debconf information