[Debian-med-packaging] Bug#961101: mmseqs2 FTBFS on i386

Adrian Bunk bunk at debian.org
Wed May 20 07:12:23 BST 2020


Source: mmseqs2
Version: 11-e1a1c+ds-3
Severity: important
Tags: ftbfs patch

https://buildd.debian.org/status/fetch.php?pkg=mmseqs2&arch=i386&ver=11-e1a1c%2Bds-3&stamp=1588613875&raw=0

...
/<<PKGBUILDDIR>>/src/commons/Util.cpp: In static member function ‘static uint64_t Util::revComplement(uint64_t, int)’:
/<<PKGBUILDDIR>>/src/commons/Util.cpp:601:17: error: ‘_mm_cvtsi64_si128’ was not declared in this scope; did you mean ‘_mm_cvtsi32_si128’?
  601 |     __m128i x = _mm_cvtsi64_si128(kmer);
      |                 ^~~~~~~~~~~~~~~~~
      |                 _mm_cvtsi32_si128
/<<PKGBUILDDIR>>/src/commons/Util.cpp:638:24: error: ‘_mm_cvtsi128_si64’ was not declared in this scope; did you mean ‘_mm_cvtsi128_si32’?
  638 |     return (((uint64_t)_mm_cvtsi128_si64(x)) >> (uint64_t)(64-2*k));
      |                        ^~~~~~~~~~~~~~~~~
      |                        _mm_cvtsi128_si32
make[4]: *** [src/CMakeFiles/mmseqs-framework.dir/build.make:573: src/CMakeFiles/mmseqs-framework.dir/commons/Util.cpp.o] Error 1



It makes sense to provide compile with different optimizations
for amd64, but for i386 the generic version is good enough
(there are unlikely to be many serious users on i386):

--- debian/rules.old	2020-05-19 09:28:28.837521336 +0000
+++ debian/rules	2020-05-19 09:28:56.101507374 +0000
@@ -23,13 +23,6 @@
 	        export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \
 	        dh_auto_configure --builddirectory build_$${SIMD} -- -DEXE_SUFFIX=-$${SIMD} -DVERSION_OVERRIDE=$(DEB_VERSION) ; \
 	done
-else ifeq (i386,$(DEB_HOST_ARCH))
-	for SIMD in ssse3 sse3 sse2 ; do \
-	        export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \
-	        dh_auto_configure --builddirectory build_$${SIMD} -- -DEXE_SUFFIX=-$${SIMD} -DVERSION_OVERRIDE=$(DEB_VERSION) ; \
-	done
-	export CXXFLAGS="$(CXXFLAGS)" && export CFLAGS="$(CFLAGS)" && \
-		dh_auto_configure --builddirectory build_plain -- -DEXE_SUFFIX=-plain -DVERSION_OVERRIDE=$(DEB_VERSION)
 else
 	dh_auto_configure -- -DVERSION_OVERRIDE=$(DEB_VERSION)
 endif
@@ -42,12 +35,6 @@
 	for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 ; do \
 		dh_auto_build --builddirectory build_$${SIMD} ; \
 	done
-else ifeq (i386,$(DEB_HOST_ARCH))
-	mkdir -p $(binprefix)
-	for SIMD in ssse3 sse3 sse2 ; do \
-	        dh_auto_build --builddirectory build_$${SIMD} ; \
-	done
-	dh_auto_build --builddirectory build_plain
 else
 	dh_auto_build
 endif
@@ -63,16 +50,6 @@
 	dh_install -pmmseqs2 usr/bin/mmseqs-* usr/bin/
 	cd $(binprefix) \
 		&& for prog in mmseqs ; do \
-		ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done
-else ifeq (i386,$(DEB_HOST_ARCH))
-	dh_install -pmmseqs2 debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/
-	for SIMD in ssse3 sse3 sse2 ; do \
-	        dh_auto_install --builddirectory build_$${SIMD} ; \
-	done
-	dh_auto_install --builddirectory build_plain
-	dh_install -pmmseqs2 usr/bin/mmseqs-* usr/bin/
-	cd $(binprefix) \
-		&& for prog in mmseqs ; do \
 		ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done
 else
 	dh_auto_install


More information about the Debian-med-packaging mailing list