warzone2100
warzone2100 copied to clipboard
4.4.2: build fails
I'm not sure is it caused by use gcc 14 (cementy it is available in fedora rawhide). Nevertheless ..
Build fails with
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu'
[ 89%] Building CXX object 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/discord_rpc.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu/3rdparty/discord-rpc/src && /usr/bin/g++ -DDISCORD_LINUX -I/home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/warzone2100/. -I/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty -I/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/include -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/glm -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/date/include -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fstack-protector-strong -fstack-clash-protection -DNDEBUG -std=c++14 -fPIC -g -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-old-style-cast -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-missing-noreturn -Wno-padded -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -MD -MT 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/discord_rpc.cpp.o -MF CMakeFiles/discord-rpc.dir/discord_rpc.cpp.o.d -o CMakeFiles/discord-rpc.dir/discord_rpc.cpp.o -c /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/discord_rpc.cpp
In file included from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/serialization.h:15,
from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/rpc_connection.h:4,
from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/discord_rpc.cpp:6:
/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include/rapidjson/document.h: In member function ‘rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&)’:
/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
319 | GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
| ~~~~~~~^~~~~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-global-constructors’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-exit-time-destructors’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-covered-switch-default’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++98-compat-pedantic’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++98-compat’ may have been intended to silence earlier diagnostics
make[2]: *** [3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/build.make:79: 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/discord_rpc.cpp.o] Error 1
[ 89%] Building CXX object 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/rpc_connection.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu/3rdparty/discord-rpc/src && /usr/bin/g++ -DDISCORD_LINUX -I/home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/warzone2100/. -I/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty -I/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/include -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/glm -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/date/include -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fstack-protector-strong -fstack-clash-protection -DNDEBUG -std=c++14 -fPIC -g -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-old-style-cast -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-missing-noreturn -Wno-padded -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -MD -MT 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/rpc_connection.cpp.o -MF CMakeFiles/discord-rpc.dir/rpc_connection.cpp.o.d -o CMakeFiles/discord-rpc.dir/rpc_connection.cpp.o -c /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/rpc_connection.cpp
In file included from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/serialization.h:15,
from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/rpc_connection.h:4,
from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/rpc_connection.cpp:1:
/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include/rapidjson/document.h: In member function ‘rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&)’:
/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
319 | GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
| ~~~~~~~^~~~~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-global-constructors’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-exit-time-destructors’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-covered-switch-default’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++98-compat-pedantic’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++98-compat’ may have been intended to silence earlier diagnostics
make[2]: *** [3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/build.make:93: 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/rpc_connection.cpp.o] Error 1
[ 89%] Building CXX object 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/serialization.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu/3rdparty/discord-rpc/src && /usr/bin/g++ -DDISCORD_LINUX -I/home/tkloczko/rpmbuild/BUILD/warzone2100/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/warzone2100/. -I/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty -I/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/include -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/glm -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/date/include -isystem /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fstack-protector-strong -fstack-clash-protection -DNDEBUG -std=c++14 -fPIC -g -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-old-style-cast -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-missing-noreturn -Wno-padded -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -MD -MT 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/serialization.cpp.o -MF CMakeFiles/discord-rpc.dir/serialization.cpp.o.d -o CMakeFiles/discord-rpc.dir/serialization.cpp.o -c /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/serialization.cpp
In file included from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/serialization.h:15,
from /home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/src/serialization.cpp:1:
/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include/rapidjson/document.h: In member function ‘rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&)’:
/home/tkloczko/rpmbuild/BUILD/warzone2100/3rdparty/discord-rpc/thirdparty/rapidjson/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
319 | GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
| ~~~~~~~^~~~~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-global-constructors’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-exit-time-destructors’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-covered-switch-default’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++98-compat-pedantic’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++98-compat’ may have been intended to silence earlier diagnostics
make[2]: *** [3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/build.make:107: 3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/serialization.cpp.o] Error 1
make[2]: Target '3rdparty/discord-rpc/src/CMakeFiles/discord-rpc.dir/build' not remade because of errors.
BTW: why it is not possible to build Warzone2100 against system installed rapidjson? 🤔
Small correction: above is from build of 4.4.2 + all commits from master (up to 97094197).
What the version of rapidjson package is?
In this case it is that one which has been bundled in last release dist tar ball https://github.com/Warzone2100/warzone2100//releases/download/4.4.2/warzone2100_src.tar.xz
Try reconfiguring with -DENABLE_DISCORD=OFF
OK but it looks like it will disable one feature. Doses it mean that it is kind of short term/JFDI solution and soon it will be new release with fixed rapidjson/wz code or posybilisty to build wz against system installed rapidjson? 🤔
That feature won’t work anyway on your system, and shouldn’t be built into the binary by default in a number of cases it currently is. (This will be fixed for the next release. With current default configuration it would build and link that code but not actually use it at runtime.)
OK thank you.