[Debian-med-packaging] Bug#831151: nanopolish: FTBFS with GCC 6: src/common/nanopolish_variant.cpp:27:79: error: no matching function for call to 'max(int, __gnu_cxx::__enable_if<true, double>::__type)'

Lucas Nussbaum lucas at debian.org
Thu Jul 14 07:12:19 UTC 2016


Source: nanopolish
Version: 0.4.0-1
Severity: serious
Tags: stretch sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20160713 qa-ftbfs
Justification: FTBFS with GCC 6 on amd64

Hi,

During a rebuild of all packages in sid using the gcc-defaults package
available in experimental to make GCC default to version 6, your package failed
to build on amd64. For more information about GCC 6 and Stretch, see:
- https://wiki.debian.org/GCC6
- https://lists.debian.org/debian-devel-announce/2016/06/msg00007.html

Relevant part (hopefully):
> g++ -o src/common/nanopolish_variant.o -c -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -g -O3 -std=c++11 -fopenmp -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/hdf5/serial   -I./fast5 -I./src -I./src/hmm -I./src/thirdparty -I./src/common -I./src/alignment -fPIC src/common/nanopolish_variant.cpp
> src/common/nanopolish_variant.cpp: In function 'std::vector<Variant> extract_variants(const string&, const string&)':
> src/common/nanopolish_variant.cpp:27:79: error: no matching function for call to 'max(int, __gnu_cxx::__enable_if<true, double>::__type)'
>      par.band_width = std::max(20, abs(reference.size() - haplotype.size()) * 2);
>                                                                                ^
> In file included from /usr/include/c++/6/algorithm:61:0,
>                  from src/common/nanopolish_variant.cpp:8:
> /usr/include/c++/6/bits/stl_algobase.h:219:5: note: candidate: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
>      max(const _Tp& __a, const _Tp& __b)
>      ^~~
> /usr/include/c++/6/bits/stl_algobase.h:219:5: note:   template argument deduction/substitution failed:
> src/common/nanopolish_variant.cpp:27:79: note:   deduced conflicting types for parameter 'const _Tp' ('int' and '__gnu_cxx::__enable_if<true, double>::__type {aka double}')
>      par.band_width = std::max(20, abs(reference.size() - haplotype.size()) * 2);
>                                                                                ^
> In file included from /usr/include/c++/6/algorithm:61:0,
>                  from src/common/nanopolish_variant.cpp:8:
> /usr/include/c++/6/bits/stl_algobase.h:265:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
>      max(const _Tp& __a, const _Tp& __b, _Compare __comp)
>      ^~~
> /usr/include/c++/6/bits/stl_algobase.h:265:5: note:   template argument deduction/substitution failed:
> src/common/nanopolish_variant.cpp:27:79: note:   deduced conflicting types for parameter 'const _Tp' ('int' and '__gnu_cxx::__enable_if<true, double>::__type {aka double}')
>      par.band_width = std::max(20, abs(reference.size() - haplotype.size()) * 2);
>                                                                                ^
> In file included from /usr/include/c++/6/algorithm:62:0,
>                  from src/common/nanopolish_variant.cpp:8:
> /usr/include/c++/6/bits/stl_algo.h:3459:5: note: candidate: template<class _Tp> _Tp std::max(std::initializer_list<_Tp>)
>      max(initializer_list<_Tp> __l)
>      ^~~
> /usr/include/c++/6/bits/stl_algo.h:3459:5: note:   template argument deduction/substitution failed:
> src/common/nanopolish_variant.cpp:27:79: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
>      par.band_width = std::max(20, abs(reference.size() - haplotype.size()) * 2);
>                                                                                ^
> In file included from /usr/include/c++/6/algorithm:62:0,
>                  from src/common/nanopolish_variant.cpp:8:
> /usr/include/c++/6/bits/stl_algo.h:3465:5: note: candidate: template<class _Tp, class _Compare> _Tp std::max(std::initializer_list<_Tp>, _Compare)
>      max(initializer_list<_Tp> __l, _Compare __comp)
>      ^~~
> /usr/include/c++/6/bits/stl_algo.h:3465:5: note:   template argument deduction/substitution failed:
> src/common/nanopolish_variant.cpp:27:79: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
>      par.band_width = std::max(20, abs(reference.size() - haplotype.size()) * 2);
>                                                                                ^
> make[1]: *** [src/common/nanopolish_variant.o] Error 1

The full build log is available from:
   http://people.debian.org/~lucas/logs/2016/07/13/nanopolish_0.4.0-1_unstable_gcc6.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.



More information about the Debian-med-packaging mailing list