Bug#811885: brainparty: FTBFS with GCC 6: template argument X is invalid

Martin Michlmayr tbm at hpe.com
Wed Jan 20 02:57:11 UTC 2016


Package: brainparty
Version: 0.61+dfsg-2
Severity: important
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-invalid-template-argument

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++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -g -c -Wno-deprecated `sdl-config --cflags` -I/usr/X11R6/include -o flashcounting.o flashcounting.cpp
> In file included from wordsmash.h:22:0,
>                  from wordsmash.cpp:18:
> WordList.h:38:39: error: template argument 2 is invalid
>  typedef hash_set<string, hash<string> > string_hash_set;
>                                        ^
> 
> WordList.h: In constructor 'WordList::WordList(const char*)':
> WordList.h:55:11: error: request for member 'insert' in '((WordList*)this)->WordList::Words', which is of non-class type 'string_hash_set {aka int}'
>      Words.insert(word);
>            ^~~~~~
> 
> WordList.h: In destructor 'WordList::~WordList()':
> WordList.h:64:9: error: request for member 'clear' in '((WordList*)this)->WordList::Words', which is of non-class type 'string_hash_set {aka int}'
>    Words.clear();
>          ^~~~~
> 
> WordList.h: In member function 'bool WordList::Contains(std::__cxx11::string)':
> WordList.h:68:35: error: qualified-id in declaration before 'it'
>    string_hash_set::const_iterator it = Words.find(string);
>                                    ^~
> 
> WordList.h:70:7: error: 'it' was not declared in this scope
>    if (it != Words.end()) {
>        ^~
> 
> WordList.h:70:19: error: request for member 'end' in '((WordList*)this)->WordList::Words', which is of non-class type 'string_hash_set {aka int}'
>    if (it != Words.end()) {
>                    ^~~
> 
> g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -g -c -Wno-deprecated `sdl-config --cflags` -I/usr/X11R6/include -o jeweljam.o jeweljam.cpp
> g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -g -c -Wno-deprecated `sdl-config --cflags` -I/usr/X11R6/include -o BPPoint.o BPPoint.cpp
> g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -g -c -Wno-deprecated `sdl-config --cflags` -I/usr/X11R6/include -o BPGame.o BPGame.cpp
> g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -g -c -Wno-deprecated `sdl-config --cflags` -I/usr/X11R6/include -o Minigame.o Minigame.cpp
> WordList.h: In constructor 'WordList::WordList(const char*)':
> WordList.h:52:31: warning: ignoring return value of 'char* fgets(char*, int, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
>      fgets(filebuffer, 255, fp);
>                                ^
> 
> Makefile:29: recipe for target 'wordsmash.o' failed
> make[1]: *** [wordsmash.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> In file included from wordsmash.h:22:0,
>                  from BPGame.cpp:61:
> WordList.h:38:39: error: template argument 2 is invalid
>  typedef hash_set<string, hash<string> > string_hash_set;
>                                        ^
> 
> WordList.h: In constructor 'WordList::WordList(const char*)':
> WordList.h:55:11: error: request for member 'insert' in '((WordList*)this)->WordList::Words', which is of non-class type 'string_hash_set {aka int}'
>      Words.insert(word);
>            ^~~~~~
> 
> WordList.h: In destructor 'WordList::~WordList()':
> WordList.h:64:9: error: request for member 'clear' in '((WordList*)this)->WordList::Words', which is of non-class type 'string_hash_set {aka int}'
>    Words.clear();
>          ^~~~~
> 
> WordList.h: In member function 'bool WordList::Contains(std::__cxx11::string)':
> WordList.h:68:35: error: qualified-id in declaration before 'it'
>    string_hash_set::const_iterator it = Words.find(string);
>                                    ^~
> 
> WordList.h:70:7: error: 'it' was not declared in this scope
>    if (it != Words.end()) {
>        ^~
> 
> WordList.h:70:19: error: request for member 'end' in '((WordList*)this)->WordList::Words', which is of non-class type 'string_hash_set {aka int}'
>    if (it != Words.end()) {
>                    ^~~
> 
> BPGame.cpp: In member function 'void BPGame::DrawLine(int, int, int, int, Colour*, float)':
> BPGame.cpp:1506:48: warning: narrowing conversion of 'fromx' from 'int' to 'GLfloat {aka float}' inside { } [-Wnarrowing]
>   GLfloat vertices[] = { fromx, fromy, tox, toy };
>                                                 ^
> 
> BPGame.cpp:1506:48: warning: narrowing conversion of 'fromy' from 'int' to 'GLfloat {aka float}' inside { } [-Wnarrowing]
> BPGame.cpp:1506:48: warning: narrowing conversion of 'tox' from 'int' to 'GLfloat {aka float}' inside { } [-Wnarrowing]
> BPGame.cpp:1506:48: warning: narrowing conversion of 'toy' from 'int' to 'GLfloat {aka float}' inside { } [-Wnarrowing]
> Makefile:29: recipe for target 'BPGame.o' failed
> make[1]: *** [BPGame.o] Error 1

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



More information about the Pkg-games-devel mailing list