[Debian-med-packaging] Bug#733398: bowtie: FTBFS: diff_sample.h:532:27: error: call of overloaded 'popCount(uint32_t&)' is ambiguous

Andreas Tille tille at debian.org
Thu Jan 2 22:54:48 UTC 2014


Hi,

when building the bowtie Debian package we were using the Debian
packaged seqan library which worked as long as we had seqan 1.3.1.
Since the migration to seqan 1.4.1 this stoped working (see below).  So
the question is:  Do we find some patch to comply with seqan 1.4.x
(preferable), do we consider maintaining a versioned seqan1.3-dev
package inside Debian to cope with bowtie and other packages with the
same problem (creates extra work) or do we go the wimpy trail and simply
revert to the seqan-1.1 convenience copy included inside the bowtie
source?

Kind regards

        Andreas.

On Sat, Dec 28, 2013 at 06:28:45PM +0100, David Suárez wrote:
> Source: bowtie
> Version: 1.0.0-5
> Severity: serious
> Tags: jessie sid
> User: debian-qa at lists.debian.org
> Usertags: qa-ftbfs-20131226 qa-ftbfs
> Justification: FTBFS on amd64
> 
> Hi,
> 
> During a rebuild of all packages in sid, your package failed to build on
> amd64.
> 
> Relevant part (hopefully):
> > g++ -O3  \
> > 		-DCOMPILER_OPTIONS="\"-O3   -Wl,--hash-style=both -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -Wl,-z,relro\""  -Wl,--hash-style=both -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -Wl,-z,relro \
> > 		-fno-strict-aliasing -DBOWTIE_VERSION="\"`cat VERSION`\"" -DBUILD_HOST="\"`hostname`\"" -DBUILD_TIME="\"`date`\"" -DCOMPILER_VERSION="\"`g++ -v 2>&1 | tail -1`\"" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE  -DPREFETCH_LOCALITY=2 -DBOWTIE_MM -DBOWTIE_SHARED_MEM -Wall \
> > 		-I /usr/include/seqan -I . \
> > 		-o bowtie-inspect bowtie_inspect.cpp \
> > 		ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp edit.cpp ebwt.cpp tinythread.cpp \
> > 		-lpthread
> > In file included from bowtie_inspect.cpp:8:0:
> > diff_sample.h: In constructor 'DifferenceCoverSample<T>::DifferenceCoverSample(const TStr&, uint32_t, bool, bool, std::ostream&)':
> > diff_sample.h:532:27: error: call of overloaded 'popCount(uint32_t&)' is ambiguous
> >    assert_eq(1, popCount(_v)); // must be power of 2
> >                            ^
> > assert_helpers.h:52:16: note: in definition of macro 'assert_eq'
> >   if(!((ex) == (ac))) { \
> >                 ^
> > diff_sample.h:532:27: note: candidates are:
> >    assert_eq(1, popCount(_v)); // must be power of 2
> >                            ^
> > assert_helpers.h:52:16: note: in definition of macro 'assert_eq'
> >   if(!((ex) == (ac))) { \
> >                 ^
> > In file included from blockwise_sa.h:13:0,
> >                  from ebwt.h:27,
> >                  from bowtie_inspect.cpp:10:
> > diff_sample.h:482:21: note: unsigned int popCount(T) [with T = unsigned int]
> >  static unsigned int popCount(T i) {
> >                      ^
> > In file included from /usr/include/seqan/index/index_fm_rank_support_bit_string.h:40:0,
> >                  from /usr/include/seqan/index.h:167,
> >                  from ebwt.h:16,
> >                  from bowtie_inspect.cpp:10:
> > /usr/include/seqan/misc/misc_bit_twiddling.h:358:1: note: unsigned int seqan::popCount(TWord) [with TWord = unsigned int]
> >  popCount(TWord word)
> >  ^
> > In file included from bowtie_inspect.cpp:8:0:
> > diff_sample.h:532:27: error: call of overloaded 'popCount(uint32_t&)' is ambiguous
> >    assert_eq(1, popCount(_v)); // must be power of 2
> >                            ^
> > assert_helpers.h:53:107: note: in definition of macro 'assert_eq'
> >    std::cout << "assert_eq: expected (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
> >                                                                                                            ^
> > diff_sample.h:532:27: note: candidates are:
> >    assert_eq(1, popCount(_v)); // must be power of 2
> >                            ^
> > assert_helpers.h:53:107: note: in definition of macro 'assert_eq'
> >    std::cout << "assert_eq: expected (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
> >                                                                                                            ^
> > In file included from blockwise_sa.h:13:0,
> >                  from ebwt.h:27,
> >                  from bowtie_inspect.cpp:10:
> > diff_sample.h:482:21: note: unsigned int popCount(T) [with T = unsigned int]
> >  static unsigned int popCount(T i) {
> >                      ^
> > In file included from /usr/include/seqan/index/index_fm_rank_support_bit_string.h:40:0,
> >                  from /usr/include/seqan/index.h:167,
> >                  from ebwt.h:16,
> >                  from bowtie_inspect.cpp:10:
> > /usr/include/seqan/misc/misc_bit_twiddling.h:358:1: note: unsigned int seqan::popCount(TWord) [with TWord = unsigned int]
> >  popCount(TWord word)
> >  ^
> > In file included from bowtie_inspect.cpp:8:0:
> > diff_sample.h:532:27: error: call of overloaded 'popCount(uint32_t&)' is ambiguous
> >    assert_eq(1, popCount(_v)); // must be power of 2
> >                            ^
> > assert_helpers.h:53:137: note: in definition of macro 'assert_eq'
> >    std::cout << "assert_eq: expected (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
> >                                                                                                                                          ^
> > diff_sample.h:532:27: note: candidates are:
> >    assert_eq(1, popCount(_v)); // must be power of 2
> >                            ^
> > assert_helpers.h:53:137: note: in definition of macro 'assert_eq'
> >    std::cout << "assert_eq: expected (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
> >                                                                                                                                          ^
> > In file included from blockwise_sa.h:13:0,
> >                  from ebwt.h:27,
> >                  from bowtie_inspect.cpp:10:
> > diff_sample.h:482:21: note: unsigned int popCount(T) [with T = unsigned int]
> >  static unsigned int popCount(T i) {
> >                      ^
> > In file included from /usr/include/seqan/index/index_fm_rank_support_bit_string.h:40:0,
> >                  from /usr/include/seqan/index.h:167,
> >                  from ebwt.h:16,
> >                  from bowtie_inspect.cpp:10:
> > /usr/include/seqan/misc/misc_bit_twiddling.h:358:1: note: unsigned int seqan::popCount(TWord) [with TWord = unsigned int]
> >  popCount(TWord word)
> >  ^
> > make[2]: *** [bowtie-inspect] Error 1
> 
> The full build log is available from:
>    http://aws-logs.debian.net/ftbfs-logs/2013/12/26/bowtie_1.0.0-5_unstable.log
> 
> A list of current common problems and possible solutions is available at
> http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
> 
> About the archive rebuild: The rebuild was done on EC2 VM instances from
> Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
> failed build was retried once to eliminate random failures.
> 
> _______________________________________________
> Debian-med-packaging mailing list
> Debian-med-packaging at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging
> 

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list