(Whoops typed this hours ago but apparently did not send from Emacs. --D.)
Hi Graham, On 28 February 2023 at 10:49, Graham Inggs wrote: | Source: tiledb | Version: 2.14.1-1 | Severity: serious | Tags: ftbfs patch | Control: affects -1 src:tiledb-py | | Hi Dirk | | TileDB uses atomic operations but it is not linked to libatomic on the | architectures that need it. This can be seen in recent build logs for | armel[1], mipsel[2], powerpc[3], riscv64[4] and sh4[5], where warnings | like the following are emitted: | | dpkg-shlibdeps: warning: symbol __atomic_fetch_add_8 used by | debian/libtiledb2.13/usr/lib/arm-linux-gnueabi/libtiledb.so.2.14 found | in none of the libraries | | and | | dpkg-shlibdeps: warning: symbol __atomic_compare_exchange_1 used by | debian/libtiledb2.13/usr/lib/riscv64-linux-gnu/libtiledb.so.2.14 found | in none of the libraries Very attentive, thanks for spotting that! | This causes at least tiledb-py to FTBFS on riscv64[6]. I have tested | the patch below on riscv64 and was able to build tiledb-py | successfully. It should do the right thing on the other architectures | as well. I agree. Small and to the point patch. TileDB upstream does everything in CMake (which I do not fully speak) so "eventually" it would be nice to port this. Cheers, Dirk | Regards | Graham | | | [1] https://buildd.debian.org/status/fetch.php?pkg=tiledb&arch=armel&ver=2.14.1-1&stamp=1676252451&raw=0 | [2] https://buildd.debian.org/status/fetch.php?pkg=tiledb&arch=mipsel&ver=2.14.1-1&stamp=1676341362&raw=0 | [3] https://buildd.debian.org/status/fetch.php?pkg=tiledb&arch=powerpc&ver=2.14.1-1&stamp=1676251162&raw=0 | [4] https://buildd.debian.org/status/fetch.php?pkg=tiledb&arch=riscv64&ver=2.14.1-1&stamp=1676255427&raw=0 | [5] https://buildd.debian.org/status/fetch.php?pkg=tiledb&arch=sh4&ver=2.14.1-1&stamp=1676262874&raw=0 | [6] https://buildd.debian.org/status/logs.php?pkg=tiledb-py&arch=riscv64 | | | --- a/debian/rules | +++ b/debian/rules | @@ -9,6 +9,11 @@ | # Workaround until | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953855 is fixed | #export DEB_CXXFLAGS_MAINT_APPEND = -DSPDLOG_FMT_EXTERNAL -DFMT_HEADER_ONLY | | +# Link with -latomic on architectures that need it | +ifneq (,$(filter $(DEB_HOST_ARCH), armel mipsel powerpc riscv64 sh4)) | + export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic | -Wl,--as-needed | +endif | + | #PKG_SHORT_DESC := $(shell grep 'Description:' debian/control | tail | -n 1 | cut -d':' -f2 | sed 's/^\s//') | | #ifeq ($(filter nocheck,$(DEB_BUILD_PROFILES)),) -- dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org