Source: proteinortho Version: 6.3.1+dfsg-1 Severity: minor Tags: trixie sid ftbfs User: [email protected] Usertags: ftbfs-shuffle
Hi, GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/ This package fails to build with make --shuffle=reverse. This is likely to be caused by a missing dependency in debian/rules or an upstream Makefile. More information about this mass bug filing is available at https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle Relevant part (hopefully): > make[2]: Entering directory '/build/reproducible-path/proteinortho-6.3.1+dfsg' > Makefile:436: update target 'test_integrity_2' due to: target is .PHONY > ./proteinortho6.pl -silent -force -singles -project=test_singles_diamond > -p=diamond test/*.faa 2>/dev/null; > echo -n "testing if all proteins are in the output (using -singles): "; > testing if all proteins are in the output (using -singles): grep -E '^>' > test/C.faa test/C2.faa test/E.faa test/L.faa test/M.faa | wc -l | sed -E 's/[ > \t]//g' > test_singles_diamond.true; > perl -le 'my %d; > while(<>){if(/^#/){next;}$_=~s/^[^\t]+\t[^\t]+\t[^\t]+//g;chomp;my $j=0;my > $l=join ",", map {$j+=1;"$j:$_"} split /\t/,$_;foreach my $i (split > /,/,$l){if($i !~ /:[*]/ && $i ne ""){$d{$i}=1;}}}print scalar keys %d' > test_singles_diamond.proteinortho.tsv | sed -E 's/[ \t]//g' > > test_singles_diamond.test; > set -e ; diff test_singles_diamond.true test_singles_diamond.test; > echo "passed" > passed > Makefile:429: update target 'test_integrity' due to: target is .PHONY > ./proteinortho6.pl -silent -force -project=test_diamond -p=diamond test/*.faa > 2>/dev/null; > echo -n "testing if there is a protein that occurs twice in the output: "; > testing if there is a protein that occurs twice in the output: perl -e 'my > %d; while(<>){$_=~s/^[^\t]+\t[^\t]+\t[^\t]+//g;chomp;foreach my $i (split > /[,\t]/,$_){if($i ne "*" && $i ne "" && exists $d{$i}){die "error found a > protein that occurs in the output twice <${i}>\n"}$d{$i}=1;}}' > test_diamond.proteinortho.tsv; > echo "passed" > passed > Makefile:469: update target 'test_step3_K5' due to: target is .PHONY > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 2 > test/K5.blast-graph >test_lapack_K5.proteinortho.tsv 2>/dev/null ; \ > set -e ; ./src/chk_test.pl test_lapack_K5.proteinortho.tsv "K5"; > echo "passed" > passed > Makefile:463: update target 'test_step3_P4' due to: target is .PHONY > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 2 > test/P4.blast-graph >test_lapack_P4.proteinortho.tsv 2>/dev/null ; \ > set -e ; ./src/chk_test.pl test_lapack_P4.proteinortho.tsv "P4"; > echo "passed" > passed > Makefile:457: update target 'test_step3_P3_K5' due to: target is .PHONY > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 2 > test/P3_K5.blast-graph >test_lapack_P3_K5.proteinortho.tsv 2>/dev/null ; \ > set -e ; ./src/chk_test.pl test_lapack_P3_K5.proteinortho.tsv "P3_K5"; > echo "passed" > passed > Makefile:451: update target 'test_step3_ring4_K5_lapack' due to: target is > .PHONY > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 2 > test/ring4_K5.blast-graph >test_lapack_ring4_K5.proteinortho.tsv 2>/dev/null > ; \ > set -e ; ./src/chk_test.pl test_lapack_ring4_K5.proteinortho.tsv "ring4_K5"; > echo "passed" > passed > Makefile:445: update target 'test_step3_ring4_K5_power' due to: target is > .PHONY > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 0 > test/ring4_K5.blast-graph >test_power_ring4_K5.proteinortho.tsv 2>/dev/null ; > \ > set -e ; ./src/chk_test.pl test_power_ring4_K5.proteinortho.tsv "ring4_K5"; > echo "passed" > passed > Makefile:399: update target 'test_step3' due to: target is .PHONY > ./proteinortho6.pl -silent -force -project=test_blastp -p=blastp test/*.faa; > echo "[TEST] 2. -step=3 tests (proteinortho_clustering) " > [TEST] 2. -step=3 tests (proteinortho_clustering) > echo -n " [1/6] various test functions of proteinortho_clustering (if this > fails, try make clean first): "; \ > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -test> > /dev/null 2>&1 > [1/6] various test functions of proteinortho_clustering (if this fails, try > make clean first): echo "passed" > passed > echo -n " [2/6] Test proteinortho_clustering using lapack: "; \ > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 2 > -weighted 2 -double 0 -debug 1 test_blastp.blast-graph 2>test_lapack.err | > sort | awk -F'\t' '{$3="";print $0}' >test_lapack.proteinortho.tsv ; \ > set -e ; ./src/chk_test.pl test_lapack.proteinortho.tsv; > [2/6] Test proteinortho_clustering using lapack: echo "passed" > passed > perl -lne 'print join "\t", sort split("\t",$_)' remove.graph | sort | uniq > > remove.graph.lapack; > echo -n " [3/6] Test proteinortho_clustering using power: "; \ > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 0 > -weighted 2 -double 0 -debug 1 test_blastp.blast-graph 2>test_power.err | > sort | awk -F'\t' '{$3="";print $0}' >test_power.proteinortho.tsv; \ > set -e ; ./src/chk_test.pl test_power.proteinortho.tsv; > [3/6] Test proteinortho_clustering using power: echo "passed" > passed > perl -lne 'print join "\t", sort split("\t",$_)' remove.graph | sort | uniq > > remove.graph.power; > echo -n " [4/6] Test proteinortho_clustering using lapack and no weights: "; \ > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -lapack 2 > -weighted 0 -double 0 -debug 1 test_blastp.blast-graph 2>test_power.err | > sort | awk -F'\t' '{$3="";print $0}' >test_power.proteinortho.tsv; \ > set -e ; ./src/chk_test.pl test_power.proteinortho.tsv; > [4/6] Test proteinortho_clustering using lapack and no weights: echo "passed" > passed > echo -n " [5/6] Test proteinortho_clustering using maxnodes/flooding: "; \ > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -maxnodes 2 > -conn 0 -debug 1 test_blastp.blast-graph 2>test_power.err | sort | awk -F'\t' > '{$3="";print $0}' >test_power.proteinortho.tsv; \ > set -e ; ./src/chk_test.pl test_power.proteinortho.tsv; > [5/6] Test proteinortho_clustering using maxnodes/flooding: echo "passed" > passed > echo -n " [6/6] Test proteinortho_clustering using no clustering at all: "; \ > OMP_NUM_THREADS=1 src/BUILD/Linux_x86_64/proteinortho_clustering -conn -1 > -debug 1 test_blastp.blast-graph 2>test_power.err | sort | awk -F'\t' > '{$3="";print $0}' >test_power.proteinortho.tsv; \ > set -e ; ./src/chk_test.pl test_power.proteinortho.tsv; > [6/6] Test proteinortho_clustering using no clustering at all: echo "passed" > passed > Makefile:480: update target 'test_clean2' due to: target is .PHONY > echo "[TEST] Clean up all test files..."; \ > rm -rf remove.graph* proteinortho_cache_test_* test.* test_* test/C.faa.* > test/E.faa.* test/C2.faa.* test/L.faa.* test/M.faa.*> /dev/null 2>&1; > [TEST] Clean up all test files... > Makefile:287: update target 'test_step2' due to: target is .PHONY > echo "[TEST] 1. basic proteinortho6.pl -step=2 test. (algorithms that are not > present are skipped)" > [TEST] 1. basic proteinortho6.pl -step=2 test. (algorithms that are not > present are skipped) > echo -n " [1/12] -p=blastp test: " > [1/12] -p=blastp test: if [ "/usr/bin/blastp" = "" ]; then\ > echo "blastp missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_blastp -p=blastp > test/*.faa; \ > set -e ; ./src/chk_test.pl test_blastp.proteinortho.tsv; \ > echo "passed"; \ > fi > passed > echo -n " [2/12] -p=blastp+ synteny (PoFF) test: " > [2/12] -p=blastp+ synteny (PoFF) test: if [ "/usr/bin/blastp" = "" ]; then\ > echo "blastp missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_synteny -synteny > -singles -p=blastp+ test/*.faa; \ > set -e ; ./src/chk_test.pl test_synteny.proteinortho.tsv; \ > set -e ; ./src/chk_test.pl test_synteny.poff.tsv; \ > echo "passed"; \ > fi > tput: No value for $TERM and no -T specified > tput: No value for $TERM and no -T specified > tput: No value for $TERM and no -T specified > tput: No value for $TERM and no -T specified > passed > echo -n " [3/12] -p=diamond test: " > [3/12] -p=diamond test: if [ "/usr/bin/diamond-aligner" = "" ]; then\ > echo "diamond missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_diamond -p=diamond > test/*.faa; \ > set -e ; ./src/chk_test.pl test_diamond.proteinortho.tsv; \ > echo "passed"; \ > fi > passed > echo -n " [4/12] -p=diamond (--moresensitive) test (subparaBlast): " > [4/12] -p=diamond (--moresensitive) test (subparaBlast): if [ > "/usr/bin/diamond-aligner" = "" ]; then\ > echo "diamond missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_diamondmoresensitive > -p=diamond -subparaBlast="--more-sensitive" test/*.faa; \ > set -e ; ./src/chk_test.pl test_diamondmoresensitive.proteinortho.tsv; \ > echo "passed"; \ > fi > passed > echo -n " [5/12] -p=lastp (lastal) test: " > [5/12] -p=lastp (lastal) test: if [ "" = "" ]; then\ > echo "lastal missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_lastp -p=lastp > test/*.faa; \ > set -e ; ./src/chk_test.pl test_lastp.proteinortho.tsv ; \ > echo "passed"; \ > fi > lastal missing, skipping... > echo -n " [6/12] -p=topaz test: " > [6/12] -p=topaz test: if [ "" = "" ]; then\ > echo "topaz missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_topaz -p=topaz > test/*.faa; \ > set -e ; ./src/chk_test.pl test_topaz.proteinortho.tsv; \ > echo "passed"; \ > fi > topaz missing, skipping... > echo -n " [7/12] -p=usearch test: " > [7/12] -p=usearch test: if [ "" = "" ]; then\ > echo "usearch missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_usearch -p=usearch > test/*.faa; \ > set -e ; ./src/chk_test.pl test_usearch.proteinortho.tsv; \ > echo "passed"; \ > fi > usearch missing, skipping... > echo -n " [8/12] -p=ublast test: " > [8/12] -p=ublast test: if [ "" = "" ]; then\ > echo "usearch missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_ublast -p=ublast > test/*.faa; \ > set -e ; ./src/chk_test.pl test_ublast.proteinortho.tsv; \ > echo "passed"; \ > fi > usearch missing, skipping... > echo -n " [9/12] -p=rapsearch test: " > [9/12] -p=rapsearch test: if [ "" = "" ]; then\ > echo "rapsearch missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_rapsearch -p=rapsearch > test/*.faa; \ > set -e ; ./src/chk_test.pl test_rapsearch.proteinortho.tsv; \ > echo "passed"; \ > fi > rapsearch missing, skipping... > echo -n " [10/12] -p=blatp (blat) test: " > [10/12] -p=blatp (blat) test: if [ "" = "" ]; then\ > echo "blat missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_blatp -p=blatp > test/*.faa; \ > set -e ; ./src/chk_test.pl test_blatp.proteinortho.tsv; \ > echo "passed"; \ > fi > blat missing, skipping... > echo -n " [11/12] -p=mmseqsp (mmseqs) test: " > [11/12] -p=mmseqsp (mmseqs) test: if [ "" = "" ]; then\ > echo "mmseqs missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_mmseqsp -p=mmseqsp > test/*.faa; \ > set -e ; ./src/chk_test.pl test_blatp.proteinortho.tsv; \ > echo "passed"; \ > fi > mmseqs missing, skipping... > echo -n " [12/12] -p=autoblast (automatically detect blastp,blastn,...) test: > " > [12/12] -p=autoblast (automatically detect blastp,blastn,...) test: if [ > "/usr/bin/blastp" = "" ]; then\ > echo "ncbi-blast missing, skipping..."; \ > else \ > ./proteinortho6.pl -silent -force -project=test_autoblast -p=autoblast > test/*.faa; \ > set -e ; ./src/chk_test.pl test_autoblast.proteinortho.tsv; \ > echo "passed"; \ > fi > passed > Makefile:475: update target 'test_clean' due to: target is .PHONY > echo "[TEST] Clean up all test files..."; \ > rm -rf remove.graph* proteinortho_cache_test_* test.* test_* test/C.faa.* > test/E.faa.* test/C2.faa.* test/L.faa.* test/M.faa.*> /dev/null 2>&1; > [TEST] Clean up all test files... > Makefile:283: update target 'test' due to: target is .PHONY > echo "[TEST] All tests passed" > [TEST] All tests passed > make[2]: Leaving directory '/build/reproducible-path/proteinortho-6.3.1+dfsg' > rm test_* remove.* test/C_clean.faa > rm: cannot remove 'test_*': No such file or directory > rm: cannot remove 'remove.*': No such file or directory > make[1]: *** [debian/rules:15: override_dh_auto_test] Error 1 shuffle=reverse The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/proteinortho_6.3.1+dfsg-1_unstable_reverse.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

