[Debian-med-packaging] Bug#1117022: ncbi-blast+ FTBFS on armhf

Adrian Bunk bunk at debian.org
Thu Oct 2 09:47:41 BST 2025


Source: ncbi-blast+
Version: 2.17.0+ds-1
Severity: serious
Tags: ftbfs patch
X-Debbugs-Cc: Aaron M. Ucko <ucko at debian.org>

https://buildd.debian.org/status/logs.php?pkg=ncbi-blast%2B&arch=armhf

...
cc1: error: ‘-mfloat-abi=hard’: selected architecture lacks an FPU
make[5]: *** [/build/reproducible-path/ncbi-blast+-2.17.0+ds/c++/BUILD/build/Makefile.rules:111: crc32.o] Error 1
...
/usr/bin/gcc  -std=gnu18 -fgnu89-inline -c -Wall -Wno-format-y2k  -pthread -fopenmp -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ncbi-blast+-2.17.0+ds=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIC -march=armv8-a+crc   -DNDEBUG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -D_FORTIFY_SOURCE=2 -D_MT -D_REENTRANT -D_THREAD_SAFE -I/build/reproducible-path/ncbi-blast+-2.17.0+ds/c++/BUILD/inc -I/build/reproducible-path/ncbi-blast+-2.17.0+ds/c++/include  -I/build/reproducible-path/ncbi-blast+-2.17.0+ds/c++/include/util/compress/zlib_cloudflare /build/reproducible-path/ncbi-blast+-2.17.0+ds/c++/src/util/compress/zlib_cloudflare/crc32.c -o crc32.o
...


This is fixed with the attached patch.


In a related note:

ncbi-blast+ (2.17.0+ds-2) unstable; urgency=medium

  * debian/control:
    - Additionally build-depend on libsimde-dev.
    - Require CRC support on ARM per upstream.
  * debian/patches/zcf-simde-crc32c (new): Replace Cloudflare deflate.c's
    fallbackless architecture-dependent code with a SIMDE invocation that
    amounts to the same thing on supported architectures and to a portable
    fallback elsewhere.

 -- Aaron M. Ucko <ucko at debian.org>  Wed, 01 Oct 2025 14:43:25 -0400


The SIMDE invocation replaces the direct usage of CRC,
which makes the armv8crc-support dependency unnecessary.

Depending on armhf on what is higher even than the arm64
baseline would make little sense in any case.
-------------- next part --------------
Description: Don't use -march=armv8-a+crc on arm
Author: Adrian Bunk <bunk at debian.org>

--- ncbi-blast+-2.17.0+ds.orig/c++/src/util/compress/zlib_cloudflare/Makefile.zlib_cf.lib.unix
+++ ncbi-blast+-2.17.0+ds/c++/src/util/compress/zlib_cloudflare/Makefile.zlib_cf.lib.unix
@@ -1,7 +1,7 @@
 # $Id: Makefile.zlib_cf.lib.unix 677587 2024-01-18 20:07:53Z ivanov $
 
-ifneq "" "$(findstring --arm,$(signature))$(findstring --aarch64,$(signature))"
-  crc32.o:   CFLAGS += -march=armv8-a+crc
-  deflate.o: CFLAGS += -march=armv8-a+crc
-endif
+#ifneq "" "$(findstring --arm,$(signature))$(findstring --aarch64,$(signature))"
+#  crc32.o:   CFLAGS += -march=armv8-a+crc
+#  deflate.o: CFLAGS += -march=armv8-a+crc
+#endif
 


More information about the Debian-med-packaging mailing list