LogoopenSUSE Build Service > Projects
Sign Up | Log In

Spring RTS
http://springrts.com

Spring is an open source game engine that supports 3D multiplayer gameplay, mods and being capable of loading the content of the game Total Annihilation (not included).

Source Files

Filename Size Changed Actions
spring_104.0_src.tar.lzma 9.18 MB
springrts-104-find-docbook.patch 725 Bytes Download File
springrts.changes 14.5 KB Download File
springrts.spec 6.69 KB Download File

Comments for games (5)

simonpuchert wrote about 1 year ago

This package doesn't build on factory for a number of reasons:

  • the whole boost-devel thing (that is easily fixed)

  • there are some problems with java-devel = 10 (requiring java-devel <= 9 fixes it for now): [ 101s] CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message): [ 101s] Could NOT find Java (missing: Java_JAVAH_EXECUTABLE Development) (found [ 101s] version "10")

  • boost::asio::socket_base::non_blocking_io was deprecated ages ago and now removed. However, their documentation simply states: "Deprecated: Use non_blocking()." without explaining what that even is. If you dig further into their documentation (and no, the new function isn't linked to from the old whatever-it-was nor is it in the reference), it's a function of the basic_socket class instead of socket_base (which non_blocking_io belongs to) and there are no examples of how to use it, in contrast to everything else. Hell, even the special math functions, where it's clearly obvious what they do (e.g. gamma function) are given much more explanation. At this point, I'm tempted to "zypper rm boost" and pretend this "expertly designed C++ library" never even existed.

I'm just speechless. "Let's remove some stuff, but make finding out how to replace it unnecessarily tedious." And what makes it even funnier, this code is still in spring 0.104 (released 24.9.2017) and in the development branch even though it's been deprecated since boost 1.47 (released 11.7.2011). So neither of the upstreams actually cares about getting the problematic thing replaced.

I've worked on some (small) projects and I've seen some crazy things, but damn. This just takes the cake.

Feel free to sift through my (futile) attempts to get it to compile again.

Mailaender wrote about 1 year ago

I got

[ 235s] CMakeFiles/engine-headless.dir///System/SpringApp.cpp.o:SpringApp.cpp:function SpringApp::SpringApp(int, char*): error: undefined reference to 'google::SetUsageMessage(std::string const&)' [ 235s] CMakeFiles/engine-headless.dir///System/SpringApp.cpp.o:SpringApp.cpp:function SpringApp::SpringApp(int, char): error: undefined reference to 'google::SetVersionString(std::string const&)' [ 235s] CMakeFiles/engine-headless.dir///System/SpringApp.cpp.o:SpringApp.cpp:function SpringApp::SpringApp(int, char): error: undefined reference to 'google::ParseCommandLineFlags(int, char***, bool)' [ 235s] CMakeFiles/engine-headless.dir///System/SpringApp.cpp.o:SpringApp.cpp:function __static_initialization_and_destruction_0(int, int) [clone .constprop.160]: error: undefined reference to 'google::FlagRegisterer::FlagRegisterer

Mailaender wrote about 1 year ago

as a consequence I submitted https://build.opensuse.org/request/show/570204 to remove springlobby from Factory. This still needs a lot of love to actually become playable.

Mailaender wrote about 1 year ago

Upstreamed your boost patch: https://github.com/spring/spring/pull/362

simonpuchert wrote about 1 year ago

It's nice to see that the patch works, because I thought it wouldn't (the documentation of at least that part of Boost is very strange), which was part of why I was so upset. Thank you for upstreaming it!

The java thing can probably be fixed like this (taken from science/vtk) so it works again with OpenJDK 10: "

FindJava.cmake looks for javah executable. However,

the build never invokes the tool. Define a bogus

Java_JAVAH_EXECUTABLE in order to be able to build

with JDK10 that does not have this tool, deprecated

since JDK8.

cmake .. \ -DJava_JAVAH_EXECUTABLE:PATH=%{_bindir}/true\ " and then the rest of the flags.

The other problem you found seems to be related to googleflags / gflags, which is in ./rts/lib/gflags/ but there has to be something else that actually causes the problem since I would expect spring not to release with a fundamentally broken setup.

Login required, please login or signup in order to comment