SetupGuide: Difference between revisions

From Spring
Jump to navigationJump to search
Semi2 (talk | contribs)
Semi2 (talk | contribs)
Line 208: Line 208:


== Linux Setup Guide ==
== Linux Setup Guide ==
=== Gentoo linux ===
* If you're running [http://www.gentoo.org Gentoo linux], you're lucky, because [http://developer.berlios.de/project/showfiles.php?group_id=4358 an ebuild is already available].<br>The best way to install the ebuild in gentoo would be to add an portage overlay and copy the file into the overlay. Now in detail:<br>
:# <b>mkdir /usr/local/portage</b>
:# add this line to you /etc/make.conf<br> <b>PORTDIR_OVERLAY="/usr/local/portage"</b>
:# download the ebuild you want, for example: spring-ebuilds-0.74-r3.tar.bz2
:# <b>mv spring-ebuilds-0.74-r3.tar.bz2 /usr/local/portage</b>
:# <b>cd /usr/local/portage</b>
:# <b>tar jxvf spring-ebuilds-0.74-r3.tar.bz2</b>
:# most likely you don't run a ~x86 system (unstable) so do a:<br> <b>echo "games-strategy/spring ~x86" >> /etc/portage/package.keywords</b>
:# <b>echo "dev-libs/boost threads" >> /etc/portage/package.use</b>
:# if you want spring's evn version instead of stable do: <br> <b>emerge spring-svn</b>
:# You might want to have a look at the USE flags, type:<br><b>emerge -pv spring</b>
:# the current useflags are debug, optimize(which i enabled and worked without errors), omni (for omni lobby) and unity (for Unity Lobby).
:# finally install it with:<br><b>emerge spring</b>
:* if you get this error:
:: Calculating dependencies... done!
:: >>> Emerging (1 of 1) games-strategy/taspring-linux-release-0.72-r1 to /
:: >>> checking ebuild checksums ;-)
:: >>> checking auxfile checksums ;-)
:: >>> checking miscfile checksums ;-)
:: >>> checking taspring-linux-data-0.72b1.tar.bz2 ;-)
:: >>> Unpacking source...
::
:: !!! ERROR: games-strategy/taspring-linux-release-0.72-r1 failed.
:: Call stack:
::  ebuild.sh, line 1539:  Called dyn_unpack
::  ebuild.sh, line 711:  Called src_unpack
::  taspring-linux-release-0.72-r1.ebuild, line 45:  Called subversion_src_unpack
::  subversion.eclass, line 278:  Called subversion_fetch
::  subversion.eclass, line 127:  Called die
:: !!! subversion.eclass: ESVN_REPO_URI is empty.
:: !!! If you need support, post the topmost build error, and the call stack if relevant.
::
:: !!! This ebuild is from an overlay: '/usr/local/portage'
:* Then try: <b>rm -Rf /usr/portage/distfiles/svn-src/spring</b>
:* Afterwards do: <b>emerge spring</b>





Revision as of 23:23, 9 July 2007

Linux Setup Guide

Which Version To Install

To play online, you must have the same version as everyone else in the game.

Most people should get the current release, version 0.74b3. There are usually between 100 and 200 people online in the lobby, and if you want to play with them, you need this.

Older versions should only be interesting to software archeologists.

If you want to see the bleeding edge, you can checkout svn head of spring, but it can not be used to play with people who have the release, so you are practically limited to playing against nemo. This is mainly interesting for people who want to contribute to the project, for testing, finding bugs and fixing them, and implementing new features. Head can be seriously broken from time to time, or not even compile.

Installing With Package Managers On Various Distributions

If there is a package for your distributions preferred package manager, it is recommended to use it instead of compiling the program yourself from sources.

0.74b3 For Etch (Debian 4.0 Stable) With APT

echo "deb http://www.osrts.info/~tvo/deb etch spring" >> /etc/apt/sources.list
aptitude update
aptitude install spring spring-data

Your paths are: Spring executable in /usr/games/spring and read-only data in /usr/share/games/spring.

0.74b3 For Sid (Debian Unstable) With APT

The current .deb for Sid is broken, because it depends on some boost packages of version 1.33 that are not installable on sid, which has only 1.34. A slightly more complex way to install is necessary:

echo "deb http://www.osrts.info/~tvo/deb sid spring" >> /etc/apt/sources.list
echo "deb-src http://www.osrts.info/~tvo/deb sid spring" >> /etc/apt/sources.list
aptitude update
aptitude install dpkg-dev devscripts
apt-get source spring
apt-get build-dep spring
cd spring-0.74~b3/
debuild -us -uc
debi

Your paths are: Spring executable in /usr/games/spring and read-only data in /usr/share/games/spring.

0.74b3 For Ubuntu (any version) With APT

If you have boost 1.33, then all you need is:

echo "deb http://www.osrts.info/~tvo/deb edgy spring" >> /etc/apt/sources.list
aptitude update
aptitude install spring spring-data

If you have boost 1.34, you have to do it the same way as debian unstable:

echo "deb http://www.osrts.info/~tvo/deb edgy spring" >> /etc/apt/sources.list
echo "deb-src http://www.osrts.info/~tvo/deb edgy spring" >> /etc/apt/sources.list
aptitude update
aptitude install dpkg-dev devscripts
apt-get source spring
apt-get build-dep spring
cd spring-0.74~b3/
debuild -us -uc
debi

Your paths are: Spring executable in /usr/games/spring and read-only data in /usr/share/games/spring.

0.74b3 For Gentoo With Portage

Make an overlay for portage, download the ebuilds, and extract to populate the overlay:

mkdir -p /usr/local/portage
echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf
wget http://download.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2 ||
    wget http://download2.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2
tar xjf spring-ebuilds-0.74-r3.tar.bz2 -C /usr/local/portage/

If you are not running unstable (~x86), do the following:

echo "games-strategy/spring               ~x86" >> /etc/portage/package.keywords
echo "games-strategy/spring-base-ota      ~x86" >> /etc/portage/package.keywords
echo "games-strategy/spring-mod-xta       ~x86" >> /etc/portage/package.keywords
echo "games-strategy/spring-mod-gundamrts ~x86" >> /etc/portage/package.keywords
echo "games-strategy/spring-mod-nanoblobs ~x86" >> /etc/portage/package.keywords

Some packages need to be built with certain use flags set, this makes sure it happens:

echo "media-libs/libsdl    X opengl"     >> /etc/portage/package.use
echo "dev-libs/boost       threads"      >> /etc/portage/package.use
emerge media-libs/libsdl dev-libs/boost

Add yourself to the group games. Don't do this as root, do this as the user you normally use to play (you have to relogin afterwards to make it work):

gpasswd -a $(whoami) games

And finally emerge spring itself, along with some datafile packages (ignore the use flags for spring ebuild):

emerge unzip spring spring-base-ota spring-mod-xta spring-mod-gundamrts
emerge spring-mod-nanoblobs
etc-update

Your paths are: Spring executable in /usr/games/bin/spring and read-only data in /usr/share/games/spring.

Installing 0.74b3 From Source

If there is no package tailored for your distribution, you have to install from sources manually. Doing this for distributions where packages are available is not recommended.

Getting The Source

You can either download the source as a 4.7MB tarball (recommended) or get it from the subversion repository. Either way, the result is the same for 0.74b3.

Downloading A Tarball
cd /tmp
wget http://download.berlios.de/taspring-linux/spring_0.74b3_src.tar.bz2 ||
    wget http://download2.berlios.de/taspring-linux/spring_0.74b3_src.tar.bz2
tar xjf spring_0.74b3_src.tar.bz2
cd spring_0.74b3
Checking Out From Subversion
aptitude install subversion # if you are not on debian, figure it out
svn co https://taspring.clan-sy.com/svn/spring/tags/taspring_0.74b3 /tmp/spring_0.74b3
cd /tmp/spring_0.74b3

Getting The Dependencies

For Etch (debian 4.0 stable) and Sid (debian unstable), I've confirmed the following to be the minimal set that is necessary to get. I have not tested with any version of Ubuntu, but the line is probably almost identical if not the same.

aptitude install scons build-essential zlib1g-dev libfreetype6-dev
aptitude install libsdl1.2-dev libopenal-dev libglew-dev libboost-dev
aptitude install libboost-thread-dev libboost-regex-dev libdevil-dev
aptitude install python2.4-dev zip

This has been tested to work with a clean install of gentoo 2007.0:

emerge dev-util/scons \>=media-libs/freetype-2.0.0 \>=media-libs/libsdl-1.2.0
emerge media-libs/openal =dev-lang/python-2.4\* media-libs/glew dev-libs/boost
emerge media-libs/devil app-arch/zip

Users of other distributions should be able to figure out the correct package names from this. The scons configure will whine if you forget something, but it does not check if you remembered to install zip, even though you still need it.

Building And Installing

The build will spew out warnings like the following, which you can safely ignore:

warning: division by zero
warning: 'q' may be used uninitialized in this function

Configure, build and install:

scons configure
scons
scons install
mkdir -p /etc/spring/datadir
echo '$HOME/.spring' > /etc/spring/datadir

Your paths are: Spring executable in /usr/local/games/spring and read-only data in /usr/local/share/games/spring.

Linux Setup Guide

Debian, Ubuntu & derivatives

  • Add one of the following lines to your /etc/apt/sources.list file to enable the repository with spring packages.

    deb http://www.osrts.info/~tvo/deb edgy spring # Ubuntu Edgy Eft
    deb http://www.osrts.info/~tvo/deb etch spring # Debian Testing
    deb http://www.osrts.info/~tvo/deb sid spring  # Debian Unstable
    As this file is by default read-only, you will have to start your file-explorer with root priviliges, usually by entering: sudo [name of explorer] in your console.
  • Update your local package database by running: sudo apt-get update
    (Or use the update feature of your favorite package manager, Synaptic, Adept, aptitude, etc.)
  • Install the spring package: sudo apt-get install spring . This will also automagically install all the packages Spring depends on.
    If you get errors at the last stage (dependencies not found, e.g.could not find libboost-regex1.33.1) then you will have to edit /etc/apt/sources.list once more. Basicly you will have to add package source links which are more up to date then the ones you have, however I can not be specific, as it depends on which Debian-derivative you are using.
  • Create directories for data files: mkdir -p ~/.spring/{maps,mods,base}
  • Point your browser to Unknown Files. Download at least one map from the map section (put it in ~/.spring/maps), and at least one mod from the mod section (put in ~/.spring/mods). The default maps are SmallDivide and Mars. Default mods are either XTA or NanoBlobs (XTA is based on Total Annihilation content, NanoBlobs is free). Note: do NOT unzip .sdz and .sd7 files!
  • If you downloaded XTA in the previous step, or ever want to play mods that depend on Total Annihilation content (XTA, AA, BA, etc.), then do the following:

    wget http://ipxserver.dyndns.org/games/spring/mods/xta/base-ota-content.zip
    unzip -d ~/.spring/base base-ota-content.zip


    Note that you are legally required to own a copy of Total Annihilation if you perform this last step.

All other linux distributions

  • Make sure you have the following packages installed:

    build-essential sun-java6-jdk sun-java6-jre libsdl-dev libopenal-dev libglew-dev libboost-dev libboost-thread-dev libboost-regex-dev libdevil-dev libfreetype6-dev python2.4-dev scons subversion zip 7zip
  • Create a working directory, we'll use this to compile spring:

    mkdir ~/workdir
    cd ~/workdir
  • Download the most recent source tarball (.tar.bz2 file) from BerliOS, save it in ~/workdir.
  • Extract the tarball and switch to the directory (adjust version numbers if necessary):

    tar xfj spring_0.74b3_src.tar.bz2
    cd spring_0.74b3

    Watch out when using graphical extraction tools. They don't always create the included empty directories, causing later steps to fail. It is recommended to extract the archive using the above command.
  • Configure: scons configure
    If this doesn't work, be sure to check you installed all dependencies, and peek at the file config.log, which may show the reason it didn't work in detail. To tune the configuration (installation paths, debugging, etc.), refer to: scons -H
  • Compile by running: scons
    This can take 5-15 minutes depending on your system.
  • To install spring, run the following as root: scons install
  • Set up spring to look in your home directory for data files (run as root):

    mkdir -p /etc/spring
    echo '$HOME/.spring' > /etc/spring/datadir'


    Alternatively you can specify it in ~/.springrc (if you don't have root access):

    echo "SpringData=$HOME/.spring" >> ~/.springrc
  • Now continue at the fourth (4th) step under Debian, Ubuntu & derivatives: "Create directories for data files".

Tips:

  • If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.
  • Spring uses OpenAL for sound, Config your sound output i.e esd / arts / oss / alsa by editing /etc/openalrc or ~/.openalrc, example: ("'(" is not a typo)

    (define devices '(alsa))
    (define speaker-num 2)

    (define alsa-out-device "hw:0,0")
    (define alsa-in-device "hw:0,0")


    Adventurous people with an emu10k1 based card (sblive) can try the accelerated openal version. http://www.lost.org.uk/openal.html , don't submit audiobugs if you do.
  • 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...
  • Just poke any developer on IRC:

Settings Editing

the .springrc file is difficult to edit by hand, and the windows settings editor won't change your settings, so use Kloot's Settings++. untar it anywhere and open it by typing "./Settings++" and edit away.

<- Back to Main page