SetupGuide

From Spring
Revision as of 15:57, 11 April 2006 by Craig (talk | contribs)
Jump to navigationJump to search

Linux Setup Guide

  • In short, to get spring compiled under linux, make sure you've got all necessary development packages installed. On (K)Ubuntu linux, and maybe Debian too, this can be done by copying the following in a root terminal (or use the graphical package manager Synaptic or Adept if you can't stand commandline):

    apt-get install build-essential subversion scons libsdl-dev libopenal-dev libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev libboost-regex-dev libdevil-dev libfreetype6-dev python2.4-dev

    For any other distribution, grab these libraries and the base development packages too (for Gentoo, base development packages aren't needed, because everything is compiled from source: they're already installed). I've no clue about RPM based distros. But google is your friend.
  • To grab the sourcecode from SVN (using commandline SVN), refer to this berlios page about SVN. Use one of the two anonymous checkout methods (upper two) unless you're a spring developer (but in that case you wouldn't be reading this, right?).
  • To compile the sourcecode, switch to the trunk directory created by the svn checkout in the previous step. Then type: scons configure to configure the build. (You can fine tune the build by passing options to this command [for enabling debugging/optimizing etc.]. Type scons --help to view the available options.) Now, if you really installed all development package, the scons configure will output: "Everything seems OK. Run `scons' now to build.". If it outputs with an error you're probably missing a development package.
  • As instructed on end of previous step, type: scons Spring will now build including NTAI, JCAI and a few GroupAIs. You should end up with a file trunk/game/spring (the executable) and some shared objects (SOs or DLLs) in trunk/game/aidll
  • Now, grab the linux data tarball from berlios and extract it somewhere (or use your windows datafiles for this step if you can acces them from linux).
  • mkdir (make directories) the following directories (from the "trunk" directory) and put respectively the base files, the mod file(s) and your map file(s) in it. Note that you now also need the newest XTA -> XTAPEV5.sd7, because the default mod changed in SVN.
    • game/base
    • game/mods
    • game/maps

Edit: I found that spring would quit with an error message abount button9.wav and armor.txt. I fixed the problem by renaming the XTAPEV5.sd7 file to XTAPE.sd7 from the above download in game/mods and deleting xtapev3.sd7 from game/mods.

  • Now run spring by cd'ing (change dir) to the trunk/game directory and typing: ./spring If you've compiled with debugging enabled, you might want to run inside gdb to provide the devs with a backtrace if spring crashes: gdb ./spring
    • Basic commands inside gdb are:
      • run - Run the program (spring)
      • bt - Print a backtrace
      • quit - Quit
      • help - This one's important
  • Be happy!

Even a tip: If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.

If you really can't figure out how to get spring compiled, or you think there's a bug in the code or the buildsystem...