Slackware install

Linux Setup Guide < Slackware install

Contents

Slackware.png

For packaging requests or complaints, please contact the packagers.

Slackware

version 89.0 for Slackware 13.37 and 14.00 x86_64 (there is an update for boost libraries for 13.37)

There is 3 ways to install springrts for Slackware, compiling from scratch, downloading slackbuild packages, or running a script that download the slackware packages and set the game for you.

Installing using script

There is a script named spring_slackware_64b_installer.sh, you must download it and run:

chmod +x spring_slackware_64b_installer.sh

su -c spring_slackware_64b_installer.sh

The command will ask for the root password, detect Slackware version and operative system architecture. The script will create the folder sb_packages to save files, and then install files. (just x86_64 is ready now).

At the end you just need to run springlobby to start to play.

springlobby

Installing using SlackBuilds packages

Download packages from next links and install them running as root:

upgradepkg --reinstall --install-new *.t?z

The packages are:

DevIL-1.6.8_rc2-x86_64-3_SBo.tgz

icu4c-4.6.1-x86_64-1_SBo.tgz

libtorrent-rasterbar-0.15.9-x86_64-1_SBo.tgz

OpenAL-1.13-x86_64-1_SBo.tgz

p7zip-9.20.1-x86_64-1_SBo.tgz

spring-89.0-x86_64-1_SBo.tgz

wxGTK-2.8.12-x86_64-2_SBo.tgz

boost-1.49.0-x86_64-1.txz

springlobby-0.147-x86_64-1_SBo.tgz

The gcc 4.7.1 force us to upgrade boost library at least to 1.48 version, we choose 1.49 to distribute with spring because that will be the version of boost in Slackware 14 (not released yet), and until know there is no problems with libraries in 13.37 slackware version.

maps

Here is some maps that you want

  • DeltaSiegeDry.sd7
  • FolsomDamFinal.sd7
  • LLTAComplexV2.sd7
  • Small_Supreme_Battlefield_V2.sd7
  • SpeedMetal.sd7
  • Tabula-v2.sd7
  • TheRockFinal.sd7
  • Tropical.sd7
  • Wide Pass v3.2.sd7
  • folsomdamdeluxev4.sd7

packages

Depending on both, architecture and version of Slackware you are using, there are different versions of packages. this is an example for Slackware 13.37.0 64bits.

  • DevIL-1.6.8_rc2-x86_64-3_SBo.tgz
  • OpenAL-1.12.854-x86_64-1_SBo.tgz
  • icu4c-4.6.1-x86_64-1_SBo.tgz
  • libtorrent-rasterbar-0.15.5-x86_64-1_SBo.tgz
  • p7zip-9.13-x86_64-1_SBo.tgz
  • spring-0.82.7.1-x86_64-1_SBo.tgz
  • springlobby-0.131-x86_64-1_SBo.tgz
  • wxGTK-2.8.12-x86_64-1_SBo.tgz

How to choose the correct installer file?

You need to know just 3 things: what version of spring do you want, what version of Slackware is running, and what kind of architecture you have. To know what version of spring, you just need to go to http://www.springrts.com and check the last version. if this page is missing the latest version, just send us a mail. To get the Slackware version of your system, you just need to type this:

cat /etc/slackware-version

and to get the architecture of your CPU, just type:

uname -m

Architectures i686, i486 and any other different from x86_64 are 32bits and should work with i486.

For example, this Slackware version is 13.1.0 and the architecture is i686, and I know that the last version of spring is 0.82.7.1, so the required file is:

Spring-<SPRING_VERSION>-Slackware-<SLACKWARE_VERSION>-<ARCHITECTURE>.tar.gz

Spring-0.82.7.1-Slackware-13.1.0-i486.tar.gz

Install using script

After having downloaded the file, you have to decompress it with:

tar xzvf Spring-0.82.7.1-Slackware-13.1.0-i486.tar.gz

This should create a directory with the same name as the file:

cd Spring-0.82.7.1-Slackware-13.1.0-i486/

And there you just run:

./spring_slackware_32b_install.sh

The script will ask for the root password, install packages, copy maps and games, and check a boost symbolic link that this distribution needs to make to run springlobby properly.

Install by package

For a full install, the dependencies in precompiled tgz's for 32 bits:

spring 0.82.7.1

openAL 1.12.854

DevIL-1.6.8_rc2

icu4c-4.4.1-i486

p7zip-9.13

There is all dependencies in precompiled tgz's for 64 bits (Slackware 13.0, working on 13.1):

spring 0.82.6.1

openAL 1.10.622

DevIL-1.6.8_rc2

boost-1.38.0

icu4c-4.2.1

glew-1.5.1

libtorrent-rasterbar-0.14.9

Assuming that all .tgz are saved in the same directory, open a console and cd inside that directory; then do this:

su -c "installpkg *.tgz"

When asked for the root password, enter it.

A menu entry for spring and another for springlobby will apear in KDE, XFCE and GNOME.

Finalizing installation

You should have Spring installed by now; if not, please see the SetupGuide.

Depending on your distribution/package, you still need a Multiplayer Lobby. For Linux, the most common one is SpringLobby, which you can get here. For Slackware 13.1, the binaries required for SpringLobby:

32bits:

libtorrent-rasterbar-0.15.0-i486

boost-1.42.0-i686

  • NOTE: By default, Slackware don't have *-mt libraries, so, if you want compile/run springlobby, you must make symbolic links to libboost_*.so libraries in this way:
    ##ln -s /usr/lib/libboost_system.so /usr/lib/libboost_system-mt.so

wxGTK-2.8.11-i486

  • NOTE: If you have problems compiling/runing springlobby, you must be sure that you are using UNICODE config, to do that, you must run:
    ##wx-config --selected-config
    , and, if you have a response different to gtk2-unicode-release-2.8 you have a problem, and you must compile/install correct package.

springlobby-0.114-i686 (out of date now on v0.120)

Maps & Mods

Since Spring is only an engine, you need to download games for it, and the maps that go with those games.

SpringLobby will automatically do this for you when you attempt to join a game with a map or mod that you do not currently have, using an integrated downloader.

If you want to download it manually or browse existing maps, there are several easy to use websites:

Pick any of those sites, download a map or mod, and then double click it. This will move it to your Spring folder, using the spring map/mod installer program. If you wish to move maps/mods by hand, they are located under ~/.spring/maps/ or ~/.spring/mods/ (if the folder does not exist - create it). Do not unpack the file in any way though, just download and save it. Reload your maps/mods in SpringLobby, (Tools - Reload maps/mods) and they will be ready to use.

These sites also may provide other neat things like Lua widgets, epic replays, AI bots (for playing offline or to team up on with a friend). Generally the installation requires you to download the file and place it in the appropriate folder in your ~/.spring directory. (you may have to create the folder)

Hint: If you know the name of the map you want, there is a Search function provided in those websites. Just write a part of the name, like one word, and you will easily find the map you were looking for.

Linux specific Troubleshooting

Compiletime

invalid use of ILvoid / ALCvoid

NOTE: this was fixed for Slackware 13.1

During compiling, if you get a lot of the following errors:

/usr/include/IL/il.h:497: error: '<anonymous>' has incomplete type 
/usr/include/IL/il.h:497: error: invalid use of 'ILvoid'

This happens because the version of libdevil-dev you have installed is not compatible with gcc version 4.2 and newer. Update it.

Ingame

Slow Mouse

Run:

echo '# Slow fullscreen cursor fix for Spring' >> ~/.xsessionrc
echo 'SDL_MOUSE_RELATIVE=0' >> ~/.xsessionrc
echo 'export SDL_MOUSE_RELATIVE' >> ~/.xsessionrc

And log out and log in again.

The mouse should now be as fast as in windowed mode.

Rotating Buildings

You can rotate a building before you give the build order, but the keys that do this do not work in Linux by default for some users. Issue the following commands in the beginning of the game:

/bind keycodex buildfacing inc
/bind keycodey buildfacing dec

Keycodex and keycodey above are just placeholders. What you want to write depends on which key you want to use. To see what keycodes any keys have, do:

/keydebug yes

And then hit the keys you want to use, and spring prints the keycodes in the message buffer.

If you want to save these keys you have to edit the uikeys.txt.

Problems with Audio

The engine needs at least OpenAL Soft 1.6 for its sound. If you still have the old openal-0.0.8 installed, you should update it.

Additionally, pulseaudio causes lots of issues, so try to disable it for spring if you have sound problems.

Desync in game

Spring only send the commands and not the result over the network, so it needs to run all math in a repeatable manner, so all other clients in a multiplayer match get the same results. So some CPU specific features have to enabled/disabled. If you desync, you either have a CPU that is not SSE1 capable, or you set the wrong -march/-mtune compiler flags. If you compile Spring via CMake, remove CMakeCache.txt, and leave the march flag at the default.

If You Still Have Problems

Join either IRC chat in #taspring on Freenode or #sy on QuakeNet, or ask for help in the lobby channels #sy or #springlobby.

However, generic Linux problems not really related to installing spring should be asked elsewhere.

Prepare to list your distribution, which installation method you used, and what exactly is the error.

FAQ

IRC

How

Getting Help on IRC

Okay, so you need human help. This is how NOT to do it:

15:54 -!- **** [n=****@*] has joined #taspring
15:54 < ****> Hi, i have a problem with compiling spring on debian
15:54 < ****> can anyone help me?
15:57 -!- **** [n=****@*] has quit [Client Quit]

Do not ask to ask, instead go straight to business by stating the exact problem you have, and giving all necessary information. What you were trying to achieve, how did you try to do it, what happened and what did you expect to happen.

Then WAIT for someone to notice you.

Where

  • #sy @ QuakeNet
  • #sy @ springrts.com (with a Spring lobby client only, f.e SpringLobby)
  • #taspring @ FreeNode

 
 

Page editing toolbox

Browse
Main page
Community portal
Current events
Recent changes
Random page
Help
Edit
View source
Editing help
This page
Discuss this page
New section
Printable version
Context
Page history
What links here
Related changes
My pages
Log in
Special pages
New pages
<imagelist>
Statistics
More...

Site layout created by Roflcopter et al.