Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

SetupGuide: Difference between revisions

From FIGHTORDER
imported>Sinbadev
mNo edit summary
imported>Jobarjo
added snap installation method
 
(420 intermediate revisions by 64 users not shown)
Line 1: Line 1:
== Linux Setup Guide ==
=Linux/Unix Setup Guide=
* If you're running [http://www.gentoo.org Gentoo linux], you're lucky, because [http://download.berlios.de/taspring-linux/taspring-linux-svn-ebuild-0.67-r3.tar.bz2 an ebuild is already available]. If not, a short walk-trough to compile, run and debug spring on provided below.


* In short, to get spring compiled under linux, make sure you've got all necessary development packages installed. On [http://www.ubuntu.com/ (K)Ubuntu linux], and maybe [http://www.debian.org/ 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):<br><br><code>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</code><br><br>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 [http://www.google.com google] is your friend.
{{#css:
  table.glossy {
    margin: 4px; padding:10px;
    border: 1px solid rgba(0,0,0,0.5);
    border-radius: 10px 10px 10px 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
    text-align: center;
  }
  /*table.glossy:hover {
    background: rgba(160,160,220,0.4);
  }*/
}}


* To grab the sourcecode from SVN (using commandline SVN), refer to [https://developer.berlios.de/svn/?group_id=4358 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: <code>scons configure</code> to configure the build. (You can fine tune the build by passing options to this command [for enabling debugging/optimizing etc.]. Type <code>scons --help</code> 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: <code>scons</code> Spring will now build including [[NTAI]], [[JCAI]] and a few [[GroupAI]]s. You should end up with a file <code>trunk/game/spring</code> (the executable) and some shared objects (SOs or DLLs) in <code>trunk/game/aidll</code>
{| style="width:70%; margin-left:15%; margin-right:15%;" |


* Now, grab [https://developer.berlios.de/project/showfiles.php?group_id=4358 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).
|{{Template:LinuxSetupGuideButton|name=From Source|link=Build_from_source|icon=Git.png}}
* <code>mkdir</code> (make directories) the following directories and put respectively the base files, the mod file(s) and your map file(s) in it. Note that you now also need the newes [[XTA]] -> [http://fileuniverse.com/?p=showitem&ID=2372 XTA Pimped Edition], because the default mod changed in SVN.
** <code>game/base</code>
** <code>game/maps</code>
** <code>game/mods</code>


* Now run spring by <code>cd</code>'ing (change dir) to the <code>trunk/game</code> directory and typing: <code>./spring</code> If you've compiled with debugging enabled, you might want to run inside gdb to provide the devs with a backtrace if spring crashes: <code>gdb ./spring</code>
|{{Template:LinuxSetupGuideButton|name=Snaps|link=Snaps_install }}
** Basic commands inside gdb are:
*** <code>'''r'''un</code> - Run the program (spring)
*** <code>'''bt'''</code> - Print a backtrace
*** <code>'''q'''uit</code> - Quit
*** <code>'''help'''</code> - This one's important 


* Be happy!
|{{Template:LinuxSetupGuideButton|name=Ubuntu|link=Ubuntu_install|icon=Distributions-ubuntu.png}}


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.
|{{Template:LinuxSetupGuideButton|name=Gentoo|link=Gentoo_install|icon=Distributions-gentoo.png}}


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
** channel <code>#taspring</code> on [http://freenode.net/ FreeNode]
** or channel <code>#sy</code> on [http://www.quakenet.org/ QuakeNet]
* post it on the forum
* or file a bug in our [http://taspring.clan-sy.com/mantis/ Bug tracking system].


|{{Template:LinuxSetupGuideButton|name=Slackware|link=Slackware12_install|icon=Distributions-slackware.png}}


[[Category:Linux Port]][[Category:Developement]]
|{{Template:LinuxSetupGuideButton|name=Debian|link=Debian_install|icon=Distributions-debian.png}}
 
|{{Template:LinuxSetupGuideButton|name=Mandriva|link=Mandriva_install|icon=Distributions-mandriva_linux.png}}
 
|-
 
|{{Template:LinuxSetupGuideButton|name=openSUSE|link=openSUSE_install|icon=Distributions-opensuse_linux.png}}
 
|{{Template:LinuxSetupGuideButton|name=Fedora|extlink=http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10|icon=Distributions-fedora.png}}
 
|{{Template:LinuxSetupGuideButton|name=FreeBSD|link=FreeBSD_install|icon=Distributions-freebsd.png}}
|}
 
 
<span style="float:right">[[Linux:Packaging | Package Maintainers]]</span>
 
[[Category:Linux]]

Latest revision as of 20:56, 11 February 2019

Linux/Unix Setup Guide

{{#css:

 table.glossy {
   margin: 4px; padding:10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 /*table.glossy:hover {
   background: rgba(160,160,220,0.4);
 }*/

}}


{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}

{{#css:
 .glossy {
   width:   100px;
   margin:  4px;
   padding: 10px;
   border: 1px solid rgba(0,0,0,0.5);
   border-radius: 10px 10px 10px 10px;
   box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
   text-align: center;
 }
 .glossy:hover {
   background: rgba(200,200,240,0.3);
 }
 .foo {
   font-size: 200pt;
   position: absolute;
   top:    0;
   left:   0;
   width:  140px;
   height: 100%;
   overflow: hidden;
   color:   rgba(0,0,0,0);
 }
 .foo img {
   width:  120px;
   height: 100%;
 }

}}


Package Maintainers