Package: rust-blosc2-sys Version: 0.4.0+dfsg-1 Severity: important
Hi,rust-blosc2-sys ships pre-generated bindings for c-blosc2 2.15 (src/bindings.rs), and the Debian package removes the regenerate-bindings feature, but it links against the system libblosc2, which is 3.4.1 in unstable. Code using it crashes at run time.
I hit this while enabling the rust-blosc2-rs autopkgtests (debcargo-conf MR !1530, which also fixed #1150809). In a sid sbuild, with the use-system-blosc2 feature (so -l blosc2 is passed and links fine):
running 12 tests test tests::test_list_compressors ... ok test tests::test_get_version_string ... okprocess didn't exit successfully: ... (signal: 11, SIGSEGV: invalid memory reference)
All the referenced symbols (blosc2_compress, blosc2_decompress, blosc2_cbuffer_sizes, blosc2_schunk_*, blosc2_get_complib_info) are exported by libblosc2.so.3.4.1, so this looks like a layout/ABI mismatch between the 2.15 bindings and the 3.4 headers rather than missing functions. I haven't verified it struct by struct.
Possible fixes: regenerate the bindings against Debian's libblosc2-dev headers at build time (bindgen), or refresh the bundled bindings for 3.x.
Separately, the per-feature autopkgtests that don't enable use-system-blosc2 can't link at all (Debian's build.rs only links the system library under that feature), so those test combinations should probably be marked broken or always include use-system-blosc2.
Regards, Ayushman
OpenPGP_signature.asc
Description: OpenPGP digital signature

