Package: xeus-dev Version: 3.1.3-1 Severity: serious Dear Debian Science maintainers,
I have trouble with linking with libxeus9 since I upgraded nlohmann-json3-dev to 3.11.3-1. It seems to me nlohmann-json3-dev 3.11.3-1. is changing the API of libxeus9 in an incompatible way. /lib/x86_64-linux-gnu/libxeus.so.9 defines xeus::make_null_debugger(xeus::xcontext&, xeus::xconfiguration const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nlohmann::json_abi_v3_11_2::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > const&) while programs compiled with xeus-dev and nlohmann-json3-dev require xeus::make_null_debugger(xeus::xcontext&, xeus::xconfiguration const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nlohmann::json_abi_v3_11_3::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_11_3::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void> const&)' That is 'nlohmann::json_abi_v3_11_3' instead of 'nlohmann::json_abi_v3_11_2' This causes xeus-based kernels to fail to link. main.cpp:(.text+0x58b): undefined reference to `xeus::make_null_debugger(xeus::xcontext&, xeus::xconfiguration const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nlohmann::json_abi_v3_11_3::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_11_3::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void> const&)' Downgrading nlohmann-json3-dev to 3.11.2-2 fixes this issue. binNMUing libxeus9 might fix this issue, but will probably silently change the ABI of libxeus9 without updating the shlibs. This is worrysome. I hope I am wrong about that. Cheers, -- Bill. <ballo...@debian.org> Imagine a large red swirl here.