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