[Debian-med-packaging] Bug#1049574: fastqtl: Fails to build binary packages again after successful build

Lucas Nussbaum lucas at debian.org
Wed Aug 16 08:42:48 BST 2023


Source: fastqtl
Version: 2.184+v7+dfsg-3
Severity: minor
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-binary-20230816 ftbfs-binary-after-build
User: debian-qa at lists.debian.org
Usertags: qa-doublebuild

Hi,

This package fails to do build a binary-only build (not source) after a
successful build (dpkg-buildpackage ; dpkg-buildpackage -b).

This is probably a clear violation of Debian Policy section 4.9 (clean target),
but this is filed as severity:minor for now, because a discussion on
debian-devel showed that we might want to revisit the requirement of a working
'clean' target.

More information about this class of issues, included common problems and
solutions, is available at
https://wiki.debian.org/qa.debian.org/FTBFS/DoubleBuild

Relevant part of the build log:
> cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -b
> -----------------------------------------------------------------------------------------------------------------------------
> 
> dpkg-buildpackage: info: source package fastqtl
> dpkg-buildpackage: info: source version 2.184+v7+dfsg-3
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Étienne Mollier <emollier at debian.org>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
>  debian/rules clean
> dh clean --with python3
>    dh_auto_clean
> 	make -j8 clean
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> rm -f obj/*.o bin/fastQTL
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_clean
>  debian/rules binary
> dh binary --with python3
>    dh_update_autotools_config
>    dh_autoreconf
>    dh_auto_configure
>    debian/rules override_dh_auto_build
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> mkdir -p /<<PKGBUILDDIR>>/obj/
> mkdir -p /<<PKGBUILDDIR>>/bin/
> dh_auto_build -- CXXFLAGS='-g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14'
> 	make -j8 "INSTALL=install --strip-program=true" "CXXFLAGS=-g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14"
> make[2]: Entering directory '/<<PKGBUILDDIR>>'
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisMapping.o -c src/analysisMapping.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisNominal.o -c src/analysisNominal.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisNominalBest.o -c src/analysisNominalBest.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisPermutation.o -c src/analysisPermutation.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisPermutationInteraction.o -c src/analysisPermutationInteraction.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisPermutationPerGroup.o -c src/analysisPermutationPerGroup.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/analysisPermutationSequence.o -c src/analysisPermutationSequence.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/commands.o -c src/commands.cpp -Isrc 
> In file included from src/analysisPermutationPerGroup.cpp:17:
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> In file included from src/analysisPermutationSequence.cpp:17:
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> In file included from src/analysisNominal.cpp:17:
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> src/analysisPermutation.cpp: In member function ‘void data::runPermutation(std::string, std::vector<int>)’:
> src/analysisPermutation.cpp:75:27: warning: ‘void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<float*, vector<float> >]’ is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
>    75 |             random_shuffle(phenotype_curr.begin(), phenotype_curr.end());
>       |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/13/algorithm:61,
>                  from src/utils/utils.h:54,
>                  from src/data.h:25,
>                  from src/analysisPermutation.cpp:17:
> /usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
>  4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
>       |     ^~~~~~~~~~~~~~
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> src/analysisPermutationInteraction.cpp: In member function ‘void data::runPermutationInteraction(std::string, int)’:
> src/analysisPermutationInteraction.cpp:48:39: warning: ‘void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<float*, vector<float> >]’ is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
>    48 |                         random_shuffle(permuted_phenotypes[perm].begin(), permuted_phenotypes[perm].end());
>       |                         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/13/algorithm:61,
>                  from src/utils/utils.h:54,
>                  from src/data.h:25,
>                  from src/analysisPermutationInteraction.cpp:17:
> /usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
>  4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
>       |     ^~~~~~~~~~~~~~
> src/analysisPermutationInteraction.cpp:76:47: warning: ‘void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<float*, vector<float> >]’ is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
>    76 |                                 random_shuffle(phenotype_curr.begin(), phenotype_curr.end());
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
>  4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
>       |     ^~~~~~~~~~~~~~
> In file included from src/analysisMapping.cpp:17:
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/df.o -c src/df.cpp -Isrc 
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/fastQTL.o -c src/fastQTL.cpp -Isrc 
> In file included from src/analysisNominalBest.cpp:17:
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/management.o -c src/management.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/mle.o -c src/mle.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readCovariates.o -c src/readCovariates.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readGenotypes.o -c src/readGenotypes.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readGroups.o -c src/readGroups.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readInclusionsExclusions.o -c src/readInclusionsExclusions.cpp -Isrc 
> In file included from src/management.cpp:20:
> src/data.h: In member function ‘double data::getCorrelation(std::vector<float>&, std::vector<float>&)’:
> src/data.h:180:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   180 |         case 3: sum0 += vec1[i+2] * vec2[i+2];
> src/data.h:181:9: note: here
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
>       |         ^~~~
> src/data.h:181:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
>   181 |         case 2: sum0 += vec1[i+1] * vec2[i+1];
> src/data.h:182:9: note: here
>   182 |         case 1: sum0 += vec1[i+0] * vec2[i+0];
>       |         ^~~~
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readInteractions.o -c src/readInteractions.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readPhenotypes.o -c src/readPhenotypes.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/readThresholds.o -c src/readThresholds.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/residualizer.o -c src/residualizer.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/tabix.o -c src/utils/tabix.cpp -Isrc 
> g++ -std=c++11 -O3 -D_FAST_CORRELATION -Wall -Wextra -Wno-sign-compare -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++14 -Wdate-time -D_FORTIFY_SOURCE=2 -o obj/utils.o -c src/utils/utils.cpp -Isrc 
> src/utils/tabix.cpp: In constructor ‘Tabix::Tabix(std::string&)’:
> src/utils/tabix.cpp:17:22: warning: ‘int bgzf_is_bgzf(const char*)’ is deprecated: Use bgzf_compression() or hts_detect_format() instead [-Wdeprecated-declarations]
>    17 |     if ( bgzf_is_bgzf(cfilename)!=1 )
>       |          ~~~~~~~~~~~~^~~~~~~~~~~
> In file included from src/utils/tabix.hpp:12,
>                  from src/utils/tabix.cpp:6:
> /usr/include/htslib/bgzf.h:270:9: note: declared here
>   270 |     int bgzf_is_bgzf(const char *fn) HTS_DEPRECATED("Use bgzf_compression() or hts_detect_format() instead");
>       |         ^~~~~~~~~~~~
> src/utils/utils.cpp: In function ‘void putils::random_shuffle(std::vector<std::vector<float> >&)’:
> src/utils/utils.cpp:133:31: warning: ‘void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<int*, vector<int> >]’ is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
>   133 |                 random_shuffle(O.begin(), O.end());
>       |                 ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/13/algorithm:61,
>                  from src/utils/utils.h:54,
>                  from src/utils/utils.cpp:17:
> /usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
>  4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
>       |     ^~~~~~~~~~~~~~
> g++ -std=c++11 -O3 -Wl,-z,relro -Wl,-z,now obj/analysisMapping.o obj/analysisNominal.o obj/analysisNominalBest.o obj/analysisPermutation.o obj/analysisPermutationInteraction.o obj/analysisPermutationPerGroup.o obj/analysisPermutationSequence.o obj/commands.o obj/df.o obj/fastQTL.o obj/management.o obj/mle.o obj/readCovariates.o obj/readGenotypes.o obj/readGroups.o obj/readInclusionsExclusions.o obj/readInteractions.o obj/readPhenotypes.o obj/readThresholds.o obj/residualizer.o obj/tabix.o obj/utils.o -lRmath -lhts -lm -lz -lbz2 -lboost_iostreams -lboost_program_options -lgslcblas -lgsl -lblas -o bin/fastQTL
> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> cd /<<PKGBUILDDIR>>/example/ && \
> 	tar Jcvf examples.tar.xz * --sort=name --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner
> covariates.txt.gz
> examples.tar.xz
> tar: examples.tar.xz: File shrank by 16262880 bytes; padding with zeros
> genotypes.vcf.gz
> genotypes.vcf.gz.tbi
> interaction.txt
> phenotypes.bed.gz
> phenotypes.bed.gz.tbi
> make[1]: *** [debian/rules:16: override_dh_auto_build] Error 1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:10: binary] Error 2
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
> 
> E: Command 'cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -b' failed to run.


The full build log is available from:
http://qa-logs.debian.net/2023/08/16/fastqtl_2.184+v7+dfsg-3_unstable.log

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Debian-med-packaging mailing list