Your message dated Mon, 3 Sep 2018 16:07:59 +0200
with message-id <[email protected]>
and subject line gmap: FTBFS on stretch/amd64 if CPU has SSE2 and nothing more
has caused the Debian Bug report #902820,
regarding gmap: FTBFS on stretch/amd64 if CPU has SSE2 and nothing more
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
902820: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902820
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:gmap
Version: 2017-01-14-1
Severity: serious
Tags: ftbfs

Dear maintainer:

I tried to build this package in stretch but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-arch
dh  build-arch --parallel --with autotools_dev
   dh_testdir -a -O--parallel
   dh_update_autotools_config -a -O--parallel
   dh_autotools-dev_updateconfig -a -O--parallel
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_configure -- --enable-shared --with-gmapdb=/var/cache/gmap \
--bindir=/usr/lib/gmap 
        ./configure --build=x86_64-linux-gnu --prefix=/usr 
--includedir=\${prefix}/include --mandir=\${prefix}/share/man 
--infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var 
--disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu 
--libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode 
--disable-dependency-tracking --enable-shared --with-gmapdb=/var/cache/gmap 
--bindir=/usr/lib/gmap
checking package version... 2017-01-14
loading default site script ./config.site
checking CFLAGS... -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security
checking MPI_CFLAGS... 

[... snipped ...]

gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-inbuffer.o `test -f 'inbuffer.c' || echo './'`inbuffer.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-samheader.o `test -f 'samheader.c' || echo './'`samheader.c
samheader.c: In function 'SAM_header_change_HD_tosorted':
samheader.c:201:5: warning: ignoring return value of 'fread', declared with 
attribute warn_unused_result [-Wunused-result]
     fread(buffer,sizeof(char),CHUNK,input);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
samheader.c:206:5: warning: ignoring return value of 'fread', declared with 
attribute warn_unused_result [-Wunused-result]
     fread(buffer,sizeof(char),headerlen,input);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-outbuffer.o `test -f 'outbuffer.c' || echo './'`outbuffer.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-chimera.o `test -f 'chimera.c' || echo './'`chimera.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-datadir.o `test -f 'datadir.c' || echo './'`datadir.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-parserange.o `test -f 'parserange.c' || echo './'`parserange.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-getopt.o `test -f 'getopt.c' || echo './'`getopt.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-getopt1.o `test -f 'getopt1.c' || echo './'`getopt1.c
gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -c -o 
gmap_sse2-gmap.o `test -f 'gmap.c' || echo './'`gmap.c
/bin/bash ../libtool  --tag=CC   --mode=link gcc  -pthread 
-DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -mpopcnt 
-DHAVE_SSE2=1 -msse2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security   -Wl,-z,relro 
-Wl,-z,now -o gmap.sse2 gmap_sse2-except.o gmap_sse2-assert.o gmap_sse2-mem.o 
gmap_sse2-intlist.o gmap_sse2-list.o gmap_sse2-littleendian.o 
gmap_sse2-bigendian.o gmap_sse2-univinterval.o gmap_sse2-interval.o 
gmap_sse2-uintlist.o gmap_sse2-stopwatch.o gmap_sse2-semaphore.o 
gmap_sse2-access.o gmap_sse2-filestring.o gmap_sse2-iit-read-univ.o 
gmap_sse2-iit-read.o gmap_sse2-md5.o gmap_sse2-bzip2.o gmap_sse2-sequence.o 
gmap_sse2-reader.o gmap_sse2-genomicpos.o gmap_sse2-compress.o 
gmap_sse2-compress-write.o gmap_sse2-gbuffer.o gmap_sse2-genome.o 
gmap_sse2-popcount.o gmap_sse2-genome128_hr.o gmap_sse2-genome_sites.o 
gmap_sse2-genome-write.o gmap_sse2-bitpack64-read.o 
gmap_sse2-bitpack64-readtwo.o gmap_sse2-merge.o gmap_sse2-in
 dexdb.o gmap_sse2-indexdb_hr.o gmap_sse2-oligo.o gmap_sse2-block.o 
gmap_sse2-chrom.o gmap_sse2-segmentpos.o gmap_sse2-chrnum.o 
gmap_sse2-uinttable.o gmap_sse2-gregion.o gmap_sse2-match.o 
gmap_sse2-matchpool.o gmap_sse2-diagnostic.o gmap_sse2-stage1.o 
gmap_sse2-diag.o gmap_sse2-diagpool.o gmap_sse2-cmet.o gmap_sse2-atoi.o 
gmap_sse2-orderstat.o gmap_sse2-oligoindex_hr.o gmap_sse2-intron.o 
gmap_sse2-maxent.o gmap_sse2-maxent_hr.o gmap_sse2-pair.o gmap_sse2-pairpool.o 
gmap_sse2-cellpool.o gmap_sse2-stage2.o gmap_sse2-doublelist.o 
gmap_sse2-smooth.o gmap_sse2-splicestringpool.o gmap_sse2-splicetrie_build.o 
gmap_sse2-splicetrie.o gmap_sse2-boyer-moore.o gmap_sse2-dynprog.o 
gmap_sse2-dynprog_simd.o gmap_sse2-dynprog_single.o gmap_sse2-dynprog_genome.o 
gmap_sse2-dynprog_cdna.o gmap_sse2-dynprog_end.o gmap_sse2-translation.o 
gmap_sse2-pbinom.o gmap_sse2-changepoint.o gmap_sse2-stage3.o 
gmap_sse2-request.o gmap_sse2-result.o gmap_sse2-output.o gmap_sse2-inbuffer.o 
gmap_sse2-samheader.o gmap_s
 se2-outbuffer.o gmap_sse2-chimera.o gmap_sse2-datadir.o gmap_sse2-parserange.o 
gmap_sse2-getopt.o gmap_sse2-getopt1.o gmap_sse2-gmap.o  -lz -lbz2 -lm 
libtool: link: gcc -pthread -DTARGET=\"x86_64-pc-linux-gnu\" 
-DGMAPDB=\"/var/cache/gmap\" -mpopcnt -DHAVE_SSE2=1 -msse2 -g -O2 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o gmap.sse2 
gmap_sse2-except.o gmap_sse2-assert.o gmap_sse2-mem.o gmap_sse2-intlist.o 
gmap_sse2-list.o gmap_sse2-littleendian.o gmap_sse2-bigendian.o 
gmap_sse2-univinterval.o gmap_sse2-interval.o gmap_sse2-uintlist.o 
gmap_sse2-stopwatch.o gmap_sse2-semaphore.o gmap_sse2-access.o 
gmap_sse2-filestring.o gmap_sse2-iit-read-univ.o gmap_sse2-iit-read.o 
gmap_sse2-md5.o gmap_sse2-bzip2.o gmap_sse2-sequence.o gmap_sse2-reader.o 
gmap_sse2-genomicpos.o gmap_sse2-compress.o gmap_sse2-compress-write.o 
gmap_sse2-gbuffer.o gmap_sse2-genome.o gmap_sse2-popcount.o 
gmap_sse2-genome128_hr.o gmap_sse2-genome_sites.o gmap_sse2-genome-write.o 
gmap_sse2-bitpack64-read.o gmap_sse2-bitpack64-readtwo.o gmap_sse2-merge.o 
gmap_sse2-indexdb.o gmap_sse2-indexdb
 _hr.o gmap_sse2-oligo.o gmap_sse2-block.o gmap_sse2-chrom.o 
gmap_sse2-segmentpos.o gmap_sse2-chrnum.o gmap_sse2-uinttable.o 
gmap_sse2-gregion.o gmap_sse2-match.o gmap_sse2-matchpool.o 
gmap_sse2-diagnostic.o gmap_sse2-stage1.o gmap_sse2-diag.o gmap_sse2-diagpool.o 
gmap_sse2-cmet.o gmap_sse2-atoi.o gmap_sse2-orderstat.o 
gmap_sse2-oligoindex_hr.o gmap_sse2-intron.o gmap_sse2-maxent.o 
gmap_sse2-maxent_hr.o gmap_sse2-pair.o gmap_sse2-pairpool.o 
gmap_sse2-cellpool.o gmap_sse2-stage2.o gmap_sse2-doublelist.o 
gmap_sse2-smooth.o gmap_sse2-splicestringpool.o gmap_sse2-splicetrie_build.o 
gmap_sse2-splicetrie.o gmap_sse2-boyer-moore.o gmap_sse2-dynprog.o 
gmap_sse2-dynprog_simd.o gmap_sse2-dynprog_single.o gmap_sse2-dynprog_genome.o 
gmap_sse2-dynprog_cdna.o gmap_sse2-dynprog_end.o gmap_sse2-translation.o 
gmap_sse2-pbinom.o gmap_sse2-changepoint.o gmap_sse2-stage3.o 
gmap_sse2-request.o gmap_sse2-result.o gmap_sse2-output.o gmap_sse2-inbuffer.o 
gmap_sse2-samheader.o gmap_sse2-outbuffer.o gmap_sse2
 -chimera.o gmap_sse2-datadir.o gmap_sse2-parserange.o gmap_sse2-getopt.o 
gmap_sse2-getopt1.o gmap_sse2-gmap.o  -lz -lbz2 -lm -pthread
gmap_sse2-oligoindex_hr.o: In function `store_positions_fwd_simd':
./src/oligoindex_hr.c:21180: undefined reference to `Atoi_reduce_ct'
./src/oligoindex_hr.c:21180: undefined reference to `Atoi_reduce_ct'
./src/oligoindex_hr.c:21181: undefined reference to `Atoi_reduce_ct'
./src/oligoindex_hr.c:21181: undefined reference to `Atoi_reduce_ct'
./src/oligoindex_hr.c:21182: undefined reference to `Atoi_reduce_ct'
./src/oligoindex_hr.c:21184: undefined reference to `Atoi_reduce_ga'
./src/oligoindex_hr.c:21184: undefined reference to `Atoi_reduce_ga'
./src/oligoindex_hr.c:21185: undefined reference to `Atoi_reduce_ga'
./src/oligoindex_hr.c:21185: undefined reference to `Atoi_reduce_ga'
./src/oligoindex_hr.c:21186: undefined reference to `Atoi_reduce_ga'
collect2: error: ld returned 1 exit status
Makefile:3423: recipe for target 'gmap.sse2' failed
make[3]: *** [gmap.sse2] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
Makefile:3292: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
Makefile:432: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: make -j1 returned exit code 2
debian/rules:19: recipe for target 'build-arch' failed
make: *** [build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2
--------------------------------------------------------------------------------

A diff between a failed build and a successful build (in a machine
having the extra features) yields this result:

@@ -448,16 +448,25 @@
 checking compiler is defective and requires an immediate in sse2 shift 
commands... no
 checking for whether simd is enabled... not specified so enabled by default
 checking for sse2 support... yes
-checking for ssse3 support... no
-checking for sse4.1 support... no
-checking for sse4.2 support... no
-checking for popcnt support... no
+checking for ssse3 support... yes
+checking for sse4.1 support... yes
+checking for sse4.2 support... yes
+checking for popcnt support... yes
 checking for bmi1 support... no
-checking for avx2 support... no
+checking for avx2 support... yes
 checking for bmi2 support... no
 checking for avx512 support... no
 checking whether C compiler accepts -msse2... yes
 checking for emmintrin.h header file... yes
+checking whether C compiler accepts -msse2 -mssse3... yes
+checking for tmmintrin.h header file... yes
+checking whether C compiler accepts -msse2 -mssse3 -msse4.1... yes
+checking for smmintrin.h header file... yes
+checking whether C compiler accepts -msse2 -mssse3 -msse4.1 -msse4.2... yes
+checking for nmmintrin.h header file... yes
+checking for mm_popcnt support... yes
+checking whether C compiler accepts -msse2 -mssse3 -msse4.1 -msse4.2 -mavx2 
-mbmi2... yes
+checking for immintrin.h header file... yes
 checking gmapdb... /var/cache/gmap
 checking MAX_STACK_READLENGTH... 300
 checking for zlib support... enabled
@@ -516,8 +525,8 @@
 checking standard linker flags to be used... 
 checking pthread compiler flags to be used... -pthread
 checking popcnt flags to be used... -mpopcnt
-checking compile level... sse2
-checking SSE2 compiler flags to be used... -msse2
+checking compile level... avx2
+checking AVX2 compiler flags to be used... -msse2 -mssse3 -msse4.1 -msse4.2 
-mavx2 -mbmi2

AFAIK on Debian/amd64 only SSE2 is allowed to be assumed by default.

I tried to compare my build logs with official ones, but there is none:

https://buildd.debian.org/status/package.php?p=gmap

(( Could you please consider source-only uploads? i.e. "dpkg-buildpackage -S" 
)).

In either case, I'm putting my failed build logs here in case you need
them, they were made with sbuild on different virtual machines running
Debian stretch:

https://people.debian.org/~sanvila/build-logs/gmap/

(Note: All the failures seem to be related to detection of CPU features,
but since the machines are diverse, the failures are not always the same).

Thanks.

--- End Message ---
--- Begin Message ---
Package: gmap
Version:  2018-07-04-3

Upstream provided patch fixing the issue.

--- End Message ---

Reply via email to