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.

Reply via email to