Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.15.1 fails to build on ppc64 (Big Endian): stl_vector.h:339:11: error: template class without a name #4303

Open
ernsteiswuerfel opened this issue Sep 1, 2019 · 2 comments

Comments

@ernsteiswuerfel
Copy link

commented Sep 1, 2019

Build was done on a Talos II, Gentoo Linux (ppc64).

[...]
[34/588] /usr/bin/powerpc64-unknown-linux-gnu-g++ -DFIFODIR=\"/var/run/wesnothd\" -DHAS_RELATIVE_LOCALEDIR=1 -DHAVE_CONFIG_H -DHAVE_HISTORY -DHAVE_LIBDBUS -DLOCALEDIR=\"translations\" -DLUA_USE_POSIX -DWESNOTH_P
ATH=\"/usr/share/wesnoth\" -D_X11 -I/var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src -Isrc -isystem /usr/include/freetype2 -isystem /usr/include/uuid -isystem /usr/include/pango-1.0 -isyste
m /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/fribidi -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/libdrm -isystem /usr/include/libpng16 -
isystem /usr/include/harfbuzz -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem /usr/include/SDL2  -DNDEBUG -std=c++14 -Wall -Wextra -Werror=non-virtual-dtor -Wno-unused-local-typedefs
 -Wno-maybe-uninitialized -Wold-style-cast -Wtrampolines -O2 -mcpu=power9 -mtune=power9 -pipe -UNDEBUG -fPIE -fstack-protector-strong   -I/usr/include/SDL2 -D_REENTRANT -MD -MT src/CMakeFiles/wesnoth-widgets.dir
/gui/widgets/horizontal_scrollbar.cpp.o -MF src/CMakeFiles/wesnoth-widgets.dir/gui/widgets/horizontal_scrollbar.cpp.o.d -o src/CMakeFiles/wesnoth-widgets.dir/gui/widgets/horizontal_scrollbar.cpp.o -c /var/tmp/po
rtage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/gui/widgets/horizontal_scrollbar.cpp
FAILED: src/CMakeFiles/wesnoth-widgets.dir/gui/widgets/horizontal_scrollbar.cpp.o 
/usr/bin/powerpc64-unknown-linux-gnu-g++ -DFIFODIR=\"/var/run/wesnothd\" -DHAS_RELATIVE_LOCALEDIR=1 -DHAVE_CONFIG_H -DHAVE_HISTORY -DHAVE_LIBDBUS -DLOCALEDIR=\"translations\" -DLUA_USE_POSIX -DWESNOTH_PATH=\"/us
r/share/wesnoth\" -D_X11 -I/var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src -Isrc -isystem /usr/include/freetype2 -isystem /usr/include/uuid -isystem /usr/include/pango-1.0 -isystem /usr/in
clude/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/fribidi -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/libdrm -isystem /usr/include/libpng16 -isystem /
usr/include/harfbuzz -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem /usr/include/SDL2  -DNDEBUG -std=c++14 -Wall -Wextra -Werror=non-virtual-dtor -Wno-unused-local-typedefs -Wno-may
be-uninitialized -Wold-style-cast -Wtrampolines -O2 -mcpu=power9 -mtune=power9 -pipe -UNDEBUG -fPIE -fstack-protector-strong   -I/usr/include/SDL2 -D_REENTRANT -MD -MT src/CMakeFiles/wesnoth-widgets.dir/gui/widg
ets/horizontal_scrollbar.cpp.o -MF src/CMakeFiles/wesnoth-widgets.dir/gui/widgets/horizontal_scrollbar.cpp.o.d -o src/CMakeFiles/wesnoth-widgets.dir/gui/widgets/horizontal_scrollbar.cpp.o -c /var/tmp/portage/gam
es-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/gui/widgets/horizontal_scrollbar.cpp
/usr/lib/gcc/powerpc64-unknown-linux-gnu/8.3.0/include/g++-v8/bits/stl_vector.h:339:11: error: template class without a name
     class vector : protected _Vector_base<_Tp, _Alloc>
           ^~~~~~
In file included from /usr/lib/gcc/powerpc64-unknown-linux-gnu/8.3.0/include/g++-v8/vector:64,
                 from /var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/serialization/string_utils.hpp:28,
                 from /var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/font/text.hpp:20,
                 from /var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/gui/widgets/styled_widget.hpp:17,
                 from /var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/gui/widgets/scrollbar.hpp:18,
                 from /var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/gui/widgets/horizontal_scrollbar.hpp:17,
                 from /var/tmp/portage/games-strategy/wesnoth-1.15.1/work/wesnoth-1.15.1/src/gui/widgets/horizontal_scrollbar.cpp:17:
/usr/lib/gcc/powerpc64-unknown-linux-gnu/8.3.0/include/g++-v8/bits/stl_vector.h:1753:28: error: expected ‘,’ or ‘...’ before ‘<’ token
     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
                            ^
/usr/lib/gcc/powerpc64-unknown-linux-gnu/8.3.0/include/g++-v8/bits/stl_vector.h:1753:78: error: ‘bool std::operator==(__vector(4) int)’ must have an argument of class or enumerated type
     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
[...]

wesnoth-1.15.1:20190901-215016.log

@CelticMinstrel

This comment has been minimized.

Copy link
Member

commented Sep 1, 2019

Hmm... is this really a Wesnoth bug? That error's clearly pointing into the C++ libraries, right? Does it read vector as a keyword somehow? (That seems unlikely though.) Is there some #define vector somewhere that's erasing the class name? I dunno, all this is just speculation, but at the very least, I don't see any proof that it's a Wesnoth issue… unless there's a missing #include somewhere, I suppose, but that doesn't seem consistent with the error message.

@ernsteiswuerfel

This comment has been minimized.

Copy link
Author

commented Sep 2, 2019

Hm, dunno.. But 1.14.7 builds fine on the same machine with the same toolchain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.