Bug#812033: onboard: FTBFS with GCC 6: needed for in-class initialization

Martin Michlmayr tbm at hpe.com
Wed Jan 20 04:41:31 UTC 2016


Package: onboard
Version: 1.1.2-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
...
> cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
> x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNDEBUG=1 -I/usr/include/python3.4m -c Onboard/pypredict/lm/lm_python.cpp -o build/temp.linux-x86_64-3.4/Onboard/pypredict/lm/lm_python.o
> cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
> In file included from Onboard/pypredict/lm/lm_python.cpp:51:0:
> Onboard/pypredict/lm/lm_dynamic_cached.h:227:46: error: 'constexpr' needed for in-class initialization of static data member 'const double _CachedDynamicModel<TNGRAMS>::DEFAULT_LAMBDA' of non-integral type [-fpermissive]
>          static const double DEFAULT_LAMBDA = 0.3;  // Jelinek-Mercer weights
>                                               ^~~
> 
> Onboard/pypredict/lm/lm_dynamic_cached.h: In instantiation of 'class _CachedDynamicModel<NGramTrieRecency<TrieNode<TrieNodeKNBase<RecencyNode> >, BeforeLastNode<BeforeLastNodeKNBase<RecencyNode>, LastNode<RecencyNode> >, LastNode<RecencyNode> > >':
> Onboard/pypredict/lm/lm_python.cpp:1459:26:   required from here
> Onboard/pypredict/lm/lm_dynamic_cached.h:227:29: error: 'constexpr' needed for in-class initialization of static data member 'const double _CachedDynamicModel<NGramTrieRecency<TrieNode<TrieNodeKNBase<RecencyNode> >, BeforeLastNode<BeforeLastNodeKNBase<RecencyNode>, LastNode<RecencyNode> >, LastNode<RecencyNode> > >::DEFAULT_LAMBDA' of non-integral type [-fpermissive]
>          static const double DEFAULT_LAMBDA = 0.3;  // Jelinek-Mercer weights
>                              ^~~~~~~~~~~~~~
> 
> Onboard/pypredict/lm/lm_dynamic_cached.h: In instantiation of 'const double _CachedDynamicModel<NGramTrieRecency<TrieNode<TrieNodeKNBase<RecencyNode> >, BeforeLastNode<BeforeLastNodeKNBase<RecencyNode>, LastNode<RecencyNode> >, LastNode<RecencyNode> > >::DEFAULT_LAMBDA':
> Onboard/pypredict/lm/lm_dynamic_cached.h:272:13:   required from 'void _CachedDynamicModel<TNGRAMS>::set_recency_lambdas(const std::vector<double>&) [with TNGRAMS = NGramTrieRecency<TrieNode<TrieNodeKNBase<RecencyNode> >, BeforeLastNode<BeforeLastNodeKNBase<RecencyNode>, LastNode<RecencyNode> >, LastNode<RecencyNode> >]'
> Onboard/pypredict/lm/lm_python.cpp:1529:41:   required from here
> Onboard/pypredict/lm/lm_dynamic_cached.h:227:29: error: 'constexpr' needed for in-class initialization of static data member 'const double _CachedDynamicModel<NGramTrieRecency<TrieNode<TrieNodeKNBase<RecencyNode> >, BeforeLastNode<BeforeLastNodeKNBase<RecencyNode>, LastNode<RecencyNode> >, LastNode<RecencyNode> > >::DEFAULT_LAMBDA' of non-integral type [-fpermissive]
> error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
> debian/rules:24: recipe for target 'override_dh_auto_build' failed
> make[1]: *** [override_dh_auto_build] Error 1

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



More information about the pkg-mate-team mailing list