[Debian-med-packaging] Bug#1126255: unicycler: FTBFS: unicycler/include/scoredalignment.h:20:17: error: 'seqan' is not a namespace-name

Santiago Vila sanvila at debian.org
Fri Jan 23 11:39:03 GMT 2026


Package: src:unicycler
Version: 0.5.1+dfsg-3
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

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

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:unicycler, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
find . -name __pycache__ -type d | xargs rm -rf
make distclean
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Platform: Linux
Compiler: g++ 15.2.0
rm -f unicycler/src/minimap/index.o unicycler/src/minimap/kthread.o unicycler/src/minimap/bseq.o unicycler/src/minimap/sdust.o unicycler/src/minimap/map.o unicycler/src/minimap/misc.o unicycler/src/minimap/sketch.o unicycler/src/miniasm/dotter.o unicycler/src/miniasm/hit.o unicycler/src/miniasm/sys.o unicycler/src/miniasm/asg.o unicycler/src/miniasm/sdict.o unicycler/src/miniasm/asm.o unicycler/src/miniasm/paf.o unicycler/src/semi_global_align_exhaustive.o unicycler/src/semi_global_align.o unicycler/src/string_functions.o unicycler/src/kmers.o unicycler/src/random_alignments.o unicycler/src/overlap_align.o unicycler/src/consensus_align.o unicycler/src/ref_seqs.o unicycler/src/start_end_align.o unicycler/src/scoredalignment.o unicycler/src/miniasm_assembly.o unicycler/src/path_align.o unicycler/src/global_align.o unicycler/src/minimap_align.o
rm -f unicycler/cpp_functions.so
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:384: python3.14 setup.py config 
running config
I: pybuild base:384: python3.13 setup.py config 
running config
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Platform: Linux
Compiler: g++ 15.2.0
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/index.o unicycler/src/minimap/index.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/kthread.o unicycler/src/minimap/kthread.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/bseq.o unicycler/src/minimap/bseq.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/sdust.o unicycler/src/minimap/sdust.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/map.o unicycler/src/minimap/map.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/misc.o unicycler/src/minimap/misc.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/minimap/sketch.o unicycler/src/minimap/sketch.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/dotter.o unicycler/src/miniasm/dotter.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/hit.o unicycler/src/miniasm/hit.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/sys.o unicycler/src/miniasm/sys.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/asg.o unicycler/src/miniasm/asg.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/sdict.o unicycler/src/miniasm/sdict.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/asm.o unicycler/src/miniasm/asm.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/miniasm/paf.o unicycler/src/miniasm/paf.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -Iunicycler/include -fPIC -lrt -lpthread -O3 -DNDEBUG -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o unicycler/src/semi_global_align_exhaustive.o unicycler/src/semi_global_align_exhaustive.cpp
In file included from unicycler/include/semi_global_align_exhaustive.h:17,
                 from unicycler/src/semi_global_align_exhaustive.cpp:12:
unicycler/include/scoredalignment.h:20:17: error: ‘seqan’ is not a namespace-name
   20 | using namespace seqan;
      |                 ^~~~~
unicycler/include/scoredalignment.h:27:26: error: expected ‘)’ before ‘<’ token
   27 |     ScoredAlignment(Align<Dna5String, ArrayGaps> & alignment,
      |                    ~     ^
      |                          )
unicycler/include/scoredalignment.h:56:51: error: ‘Score’ has not been declared
   56 |     int getCigarScore(CigarType type, int length, Score<int, Simple> & scoringScheme,
      |                                                   ^~~~~
unicycler/include/scoredalignment.h:56:56: error: expected ‘,’ or ‘...’ before ‘<’ token
   56 |     int getCigarScore(CigarType type, int length, Score<int, Simple> & scoringScheme,
      |                                                        ^
unicycler/include/semi_global_align_exhaustive.h:20:17: error: ‘seqan’ is not a namespace-name
   20 | using namespace seqan;
      |                 ^~~~~
In file included from unicycler/include/semi_global_align.h:24,
                 from unicycler/src/semi_global_align_exhaustive.cpp:15:
unicycler/include/random_alignments.h:21:17: error: ‘seqan’ is not a namespace-name
   21 | using namespace seqan;
      |                 ^~~~~
unicycler/include/semi_global_align.h:29:17: error: ‘seqan’ is not a namespace-name
   29 | using namespace seqan;
      |                 ^~~~~
unicycler/include/semi_global_align.h:34:9: error: ‘Seed’ does not name a type
   34 | typedef Seed<Simple> TSeed;
      |         ^~~~
unicycler/include/semi_global_align.h:35:9: error: ‘SeedSet’ does not name a type
   35 | typedef SeedSet<TSeed> TSeedSet;
      |         ^~~~~~~
unicycler/include/semi_global_align.h:140:29: error: ‘String’ has not been declared
  140 |                             String<TSeed> & seedChain, std::string & output, int maxLineNum,
      |                             ^~~~~~
unicycler/include/semi_global_align.h:140:35: error: expected ‘,’ or ‘...’ before ‘<’ token
  140 |                             String<TSeed> & seedChain, std::string & output, int maxLineNum,
      |                                   ^
unicycler/include/semi_global_align.h:164:34: error: ‘String’ was not declared in this scope; did you mean ‘seqan2::String’?
  164 | long long getMaxSeedChainGapArea(String<TSeed> & seedChain, int readLen, int trimmedRefLen);
      |                                  ^~~~~~
      |                                  seqan2::String
In file included from /usr/include/seqan/sequence.h:105,
                 from unicycler/include/semi_global_align_exhaustive.h:16:
/usr/include/seqan/sequence/string_base.h:290:7: note: ‘seqan2::String’ declared here
  290 | class String;
      |       ^~~~~~
unicycler/include/semi_global_align.h:164:41: error: ‘TSeed’ was not declared in this scope
  164 | long long getMaxSeedChainGapArea(String<TSeed> & seedChain, int readLen, int trimmedRefLen);
      |                                         ^~~~~
unicycler/include/semi_global_align.h:164:50: error: ‘seedChain’ was not declared in this scope
  164 | long long getMaxSeedChainGapArea(String<TSeed> & seedChain, int readLen, int trimmedRefLen);
      |                                                  ^~~~~~~~~
unicycler/include/semi_global_align.h:164:61: error: expected primary-expression before ‘int’
  164 | long long getMaxSeedChainGapArea(String<TSeed> & seedChain, int readLen, int trimmedRefLen);
      |                                                             ^~~
unicycler/include/semi_global_align.h:164:74: error: expected primary-expression before ‘int’
  164 | long long getMaxSeedChainGapArea(String<TSeed> & seedChain, int readLen, int trimmedRefLen);
      |                                                                          ^~~
unicycler/include/semi_global_align.h:164:91: error: expression list treated as compound expression in initializer [-fpermissive]
  164 | long long getMaxSeedChainGapArea(String<TSeed> & seedChain, int readLen, int trimmedRefLen);
      |                                                                                           ^
unicycler/src/semi_global_align_exhaustive.cpp: In function ‘ScoredAlignment* semiGlobalAlignmentExhaustive(std::string, std::string, int, int, int, int)’:
unicycler/src/semi_global_align_exhaustive.cpp:45:5: error: ‘Dna5String’ was not declared in this scope; did you mean ‘seqan2::Dna5String’?
   45 |     Dna5String sequenceH(s1);
      |     ^~~~~~~~~~
      |     seqan2::Dna5String
In file included from /usr/include/seqan/sequence.h:112:
/usr/include/seqan/sequence/sequence_shortcuts.h:119:36: note: ‘seqan2::Dna5String’ declared here
  119 | typedef String<Dna5, Alloc<void> > Dna5String;
      |                                    ^~~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:46:15: error: expected ‘;’ before ‘sequenceV’
   46 |     Dna5String sequenceV(s2);
      |               ^~~~~~~~~~
      |               ;
unicycler/src/semi_global_align_exhaustive.cpp:48:5: error: ‘Align’ was not declared in this scope; did you mean ‘seqan2::Align’?
   48 |     Align<Dna5String, ArrayGaps> alignment;
      |     ^~~~~
      |     seqan2::Align
In file included from /usr/include/seqan/file.h:65,
                 from /usr/include/seqan/stream.h:62,
                 from /usr/include/seqan/score.h:43,
                 from /usr/include/seqan/graph_align.h:45,
                 from /usr/include/seqan/align.h:59,
                 from unicycler/include/scoredalignment.h:18:
/usr/include/seqan/file/file_forwards.h:46:7: note: ‘seqan2::Align’ declared here
   46 | class Align;
      |       ^~~~~
unicycler/src/semi_global_align_exhaustive.cpp:48:23: error: ‘ArrayGaps’ was not declared in this scope; did you mean ‘seqan2::ArrayGaps’?
   48 |     Align<Dna5String, ArrayGaps> alignment;
      |                       ^~~~~~~~~
      |                       seqan2::ArrayGaps
In file included from /usr/include/seqan/index.h:137,
                 from /usr/include/seqan/seeds.h:51,
                 from unicycler/include/semi_global_align.h:16:
/usr/include/seqan/index/index_esa_base.h:263:29: note: ‘seqan2::ArrayGaps’ declared here
  263 |     typedef Tag<ArrayGaps_> ArrayGaps;
      |                             ^~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:48:34: error: ‘alignment’ was not declared in this scope; did you mean ‘seqan2::alignment’?
   48 |     Align<Dna5String, ArrayGaps> alignment;
      |                                  ^~~~~~~~~
      |                                  seqan2::alignment
In file included from /usr/include/seqan/index.h:138:
/usr/include/seqan/index/index_esa_stree.h:1193:5: note: ‘seqan2::alignment’ declared here
 1193 |     alignment(Iter< Index< StringSet<TString, Owner<ConcatDirect<TConcSpec> > >, TIndexSpec >, VSTree<TSpec> > &it)
      |     ^~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:49:12: error: ‘rows’ was not declared in this scope; did you mean ‘seqan2::rows’?
   49 |     resize(rows(alignment), 2);
      |            ^~~~
      |            seqan2::rows
In file included from /usr/include/seqan/align.h:97:
/usr/include/seqan/align/align_base.h:341:1: note: ‘seqan2::rows’ declared here
  341 | rows(Align<TSource, TSpec> const & me)
      | ^~~~
unicycler/src/semi_global_align_exhaustive.cpp:49:5: error: ‘resize’ was not declared in this scope; did you mean ‘seqan2::resize’?
   49 |     resize(rows(alignment), 2);
      |     ^~~~~~
      |     seqan2::resize
In file included from /usr/include/seqan/index.h:169:
/usr/include/seqan/index/index_fm_compressed_sa.h:456:1: note: ‘seqan2::resize’ declared here
  456 | resize(CompressedSA<TText, TSpec, TConfig> & compressedSA, TSize size, Tag<TExpand> tag)
      | ^~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:50:18: error: ‘row’ was not declared in this scope; did you mean ‘seqan2::row’?
   50 |     assignSource(row(alignment, 0), sequenceH);
      |                  ^~~
      |                  seqan2::row
/usr/include/seqan/align/align_base.h:372:1: note: ‘seqan2::row’ declared here
  372 | row(Align<TSource, TSpec> const & me,
      | ^~~
unicycler/src/semi_global_align_exhaustive.cpp:50:37: error: ‘sequenceH’ was not declared in this scope
   50 |     assignSource(row(alignment, 0), sequenceH);
      |                                     ^~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:50:5: error: ‘assignSource’ was not declared in this scope; did you mean ‘seqan2::assignSource’?
   50 |     assignSource(row(alignment, 0), sequenceH);
      |     ^~~~~~~~~~~~
      |     seqan2::assignSource
In file included from /usr/include/seqan/align.h:89:
/usr/include/seqan/align/gaps_anchor.h:672:1: note: ‘seqan2::assignSource’ declared here
  672 | assignSource(Gaps<TSequence, AnchorGaps<TGapAnchor> > & gaps, TSequence2 const & source)
      | ^~~~~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:51:37: error: ‘sequenceV’ was not declared in this scope
   51 |     assignSource(row(alignment, 1), sequenceV);
      |                                     ^~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:52:5: error: ‘Score’ was not declared in this scope; did you mean ‘seqan2::Score’?
   52 |     Score<int, Simple> scoringScheme(matchScore, mismatchScore, gapExtensionScore, gapOpenScore);
      |     ^~~~~
      |     seqan2::Score
In file included from /usr/include/seqan/score.h:45:
/usr/include/seqan/score/score_base.h:68:7: note: ‘seqan2::Score’ declared here
   68 | class Score;
      |       ^~~~~
unicycler/src/semi_global_align_exhaustive.cpp:52:11: error: expected primary-expression before ‘int’
   52 |     Score<int, Simple> scoringScheme(matchScore, mismatchScore, gapExtensionScore, gapOpenScore);
      |           ^~~
unicycler/src/semi_global_align_exhaustive.cpp:54:5: error: ‘AlignConfig’ was not declared in this scope; did you mean ‘seqan2::AlignConfig’?
   54 |     AlignConfig<true, true, true, true> alignConfig;
      |     ^~~~~~~~~~~
      |     seqan2::AlignConfig
In file included from /usr/include/seqan/align.h:70:
/usr/include/seqan/align/align_config.h:93:7: note: ‘seqan2::AlignConfig’ declared here
   93 | class AlignConfig
      |       ^~~~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:54:41: error: ‘alignConfig’ was not declared in this scope
   54 |     AlignConfig<true, true, true, true> alignConfig;
      |                                         ^~~~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:56:36: error: ‘scoringScheme’ was not declared in this scope; did you mean ‘seqan2::scoringScheme’?
   56 |         globalAlignment(alignment, scoringScheme, alignConfig);
      |                                    ^~~~~~~~~~~~~
      |                                    seqan2::scoringScheme
In file included from /usr/include/seqan/find.h:93,
                 from /usr/include/seqan/index.h:46:
/usr/include/seqan/find/find_score.h:180:1: note: ‘seqan2::scoringScheme’ declared here
  180 | scoringScheme(Pattern<TNeedle, DPSearch<TScore, TSpec, TFindBeginPatternSpec> > & me)
      | ^~~~~~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:56:9: error: ‘globalAlignment’ was not declared in this scope; did you mean ‘seqan2::globalAlignment’?
   56 |         globalAlignment(alignment, scoringScheme, alignConfig);
      |         ^~~~~~~~~~~~~~~
      |         seqan2::globalAlignment
In file included from /usr/include/seqan/align.h:218:
/usr/include/seqan/align/global_alignment_specialized.h:121:5: note: ‘seqan2::globalAlignment’ declared here
  121 | int globalAlignment(Gaps<TSequenceH, TGapsSpecH> & gapsH,
      |     ^~~~~~~~~~~~~~~
unicycler/src/semi_global_align_exhaustive.cpp:66:67: error: ‘scoringScheme’ was not declared in this scope; did you mean ‘seqan2::scoringScheme’?
   66 |                                0, startTime, 0, true, true, true, scoringScheme);
      |                                                                   ^~~~~~~~~~~~~
      |                                                                   seqan2::scoringScheme
/usr/include/seqan/find/find_score.h:180:1: note: ‘seqan2::scoringScheme’ declared here
  180 | scoringScheme(Pattern<TNeedle, DPSearch<TScore, TSpec, TFindBeginPatternSpec> > & me)
      | ^~~~~~~~~~~~~
make[2]: *** [Makefile:120: unicycler/src/semi_global_align_exhaustive.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:30: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:23: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the Debian-med-packaging mailing list