[Debian-med-packaging] Bug#811944: fastml: FTBFS with GCC 6: template instantiation depth exceeds maximum

Martin Michlmayr tbm at hpe.com
Wed Jan 20 03:55:08 UTC 2016


Package: fastml
Version: 3.1-2
Severity: important
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-6

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

Note that only the first error is reported; there might be more.  You
can find a snapshot of GCC 6 in experimental.  To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.

You may be able to find out more about this issue at
https://gcc.gnu.org/gcc-6/changes.html

> sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
> g++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wall -Wno-sign-compare -I. -DLOG -ftemplate-depth-32  -c -o AddLog.o AddLog.cpp
> g++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wall -Wno-sign-compare -I. -DLOG -ftemplate-depth-32  -c -o NNiProp.o NNiProp.cpp
> In file included from /usr/include/c++/6/bits/move.h:57:0,
>                  from /usr/include/c++/6/bits/stl_pair.h:59,
>                  from /usr/include/c++/6/bits/stl_algobase.h:64,
>                  from /usr/include/c++/6/vector:60,
>                  from definitions.h:18,
>                  from NNiProp.cpp:3:
> /usr/include/c++/6/type_traits: In instantiation of 'struct std::__or_<std::is_lvalue_reference<std::vector<double, std::allocator<double> >*&&>, std::is_rvalue_reference<std::vector<double, std::allocator<double> >*&&> >':
> /usr/include/c++/6/type_traits:570:12:   required from 'struct std::is_reference<std::vector<double>*&&>'
> /usr/include/c++/6/type_traits:120:12:   required from 'struct std::__or_<std::is_reference<std::vector<double, std::allocator<double> >*&&>, std::is_void<std::vector<double, std::allocator<double> >*&&> >'
> /usr/include/c++/6/type_traits:125:12:   required from 'struct std::__or_<std::is_function<std::vector<double, std::allocator<double> >*&&>, std::is_reference<std::vector<double, std::allocator<double> >*&&>, std::is_void<std::vector<double, std::allocator<double> >*&&> >'
> /usr/include/c++/6/type_traits:154:38:   required from 'struct std::__not_<std::__or_<std::is_function<std::vector<double, std::allocator<double> >*&&>, std::is_reference<std::vector<double, std::allocator<double> >*&&>, std::is_void<std::vector<double, std::allocator<double> >*&&> > >'
> /usr/include/c++/6/type_traits:590:12:   required from 'struct std::is_object<std::vector<double>*&&>'
> /usr/include/c++/6/type_traits:120:12:   [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
> /usr/include/c++/6/bits/stl_uninitialized.h:126:15:   required from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<countTableComponentHom*>; _ForwardIterator = countTableComponentHom*]'
> /usr/include/c++/6/bits/stl_uninitialized.h:281:37:   required from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<countTableComponentHom*>; _ForwardIterator = countTableComponentHom*; _Tp = countTableComponentHom]'
> /usr/include/c++/6/bits/stl_uninitialized.h:303:2:   required from '_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = countTableComponentHom*; _ForwardIterator = countTableComponentHom*; _Allocator = std::allocator<countTableComponentHom>]'
> /usr/include/c++/6/bits/vector.tcc:563:7:   required from 'void std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp, _Alloc>::size_type) [with _Tp = countTableComponentHom; _Alloc = std::allocator<countTableComponentHom>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
> /usr/include/c++/6/bits/stl_vector.h:677:21:   required from 'void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = countTableComponentHom; _Alloc = std::allocator<countTableComponentHom>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
> countTableComponent.h:69:45:   required from here
> /usr/include/c++/6/type_traits:120:12: fatal error: template instantiation depth exceeds maximum of 32 (use -ftemplate-depth= to increase the maximum)
>      struct __or_<_B1, _B2>
>             ^~~~~~~~~~~~~~~
> 
> compilation terminated.

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise



More information about the Debian-med-packaging mailing list