HowTo:Checkout SVN (Ubuntu Linux)
This is a newb friendly guide to help people who do not want to learn deep specifics and terms. Most of this guide will show you copy-paste lines to paste in Terminal, omitting most technical issues. However, you might want to take a look at what SVN is to have a general understanding of this version. If you follow steps correctly, VS should be able to run. If you have problems compiling in Ubuntu, post a new thread in the VS Forums (click here [1]). Someone will be able to help you. Note: This process was done in Ubuntu 8.10 (Intrepid). Notice: This process was
Contents
Tutorial to Download, Compile, Setup and Run Vega Strike
Downloading Vega Strike
Installing SVN
The first step is to install Subversion. In Ubuntu (and Debian, I guess) it is easy to install Subversion just by using the Synaptic Package Manager. Goto System>Administration>Synaptic Package Manager. In the quick search box, type "subversion" without quotation marks. Select the first option and mark for installation. A window will appear that will show "Mark additional required changes?". Click on "Mark". After that, click on "Apply". Every step involving the command "svn", will be using subversion.
Preparing Vega Strike
First of all, you must understand some basic knowledge. The first thing to do is to download the most important modules, which are the basic structure of VS. Basically, this is the game. You must download these in order to play VS. The modules are the data and vegastrike modules.
- First create a directory where you would like your copy of the Vega Strike development version to live in. For tutorial purposes, we will create a directory called VegaStrike in our user's home-directory.
User@UserMachine:~$ mkdir VegaStrike
- Change into this newly created directory. In our case:
User@UserMachine:~$ cd VegaStrike
Note for newbs: The directory is case sensitive. If you type: cd vegastrike or Vegastrike, it won't find the directory. Also, do not copy and paste "User@UserMachine:~$".
Downloading Vega Strike
Now we can start downloading the packages from the SVN repository. If you download them directly into your Vega Strike directory they will be just in the right place.
- Download (check-out) the source code package vegastrike, and the content package data package.
User@UserMachine:~/VegaStrike$ svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike
- After the first one finishes downloading (User@UserMachine:~/VegaStrike$ will reappear), insert the next. Be warned, you need a descent download speed to download the next package with this method.
User@UserMachine:~/VegaStrike$ svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/data
This leaves you with two new directories inside your Vega Strike directory called as the packages are.
Boost Revisions
I must confess not even I understand this, but it must be done.
- Just paste this code to update to revision 1.35.
svn update vegastrike/boost/1_35
Configuring this boost revision is easy, but it will be explained in the configure section, so don't worry for now.
Building/Compiling
You might not understand what compiling is, but it is not that important. What is important is that you do it. Its really not that complicated, so here it goes.
- First of all, we have to make sure we have certain minimun requirements. I could list you a dozen l33t terms, but you don't certainly need to know them. We'll just make sure to have them all by inserting this into Terminal (copy and paste entire code into Terminal).
sudo apt-get install libpng12-0 libpng12-dev python2.5-dev libexpat1-dev \ libjpeg62-dev glutg3-dev libopenal-dev libgtk2.0-dev libogg-dev libvorbis-dev \ build-essential libgl1-mesa-dev automake autoconf
Compiling
The compile procedure should look like the following listing. Remember, the configure part depends on above requirements. However, autoconf may not work. If so, just skip it.
- Change directory.
cd ./vegastrike
- Pre-Compile.
./bootstrap-sh
- Some configuration to be made.
./configure --enable-flags='-O3 -g' # or --enable-debug to disable optimization. -ffast-math will cause problems in code that checks for infinities.
- Compile.
make
- Install. Note if you paste the first code directly onto terminal, you might (most likely) get an error. You may have to use sudo to do this. Just paste the second code. Terminal will then ask for your password. Then, you are set.
make install # [AS ROOT]
sudo make install # [AS ROOT]
Configuring Installation
We need to make sure the data directory is *recognized*. For tutorial purposes, we will use the directory where we downloaded first in this tutorial.
- Open text editor (Applications>Accesories>Text Editor), copy and paste the following code in text editor, change the USER in caps to the name of your user, and then paste in Terminal.
./configure --with-data-dir=/home/USER/VegaStrike
- We need to configure Boost revision. Simply copy and paste code. This time, we will configure version 1.35.
./configure --with-boost=1.35
Make
The final step compiling is the command make.
- For example, to compile the mesher.
make mesher
- You might want to compile everything, so simply paste...
make all
- To use less memory usage while compiling use the following command. It will run only one instance instead of two.
make all-am
- The next step is optional, but recommended.
sudo make install
You might recieve errors when doing any of the previous steps (make). If so, give priviledges (sudo) before any of the commands.
Setup
The next step is to setup the game. This is quite easy to do, thus you are almost done.
vegastrike and vssetup
To run Vega Strike, the built executables need all the configuration and data files to be in the right place relative to them. Currently, the executables (vegastrike and vssetup) reside in the source code directory. But they can be run out of the data directory. Therefore, we will create a link.
- Change in to the data directory. (We are still in the source code directory vegastrike.)
User@UserMachine:~/VegaStrike/vegastrike$ cd ../data
- Create symbolic links to the executables in the source code directory.
User@UserMachine:~/VegaStrike/data$ ln -s ../vegastrike/vegastrike User@UserMachine:~/VegaStrike/data$ ln -s ../vegastrike/vssetup
- After that, you must run "./vssetup" inside the data folder, or any folder which has the correct setup.config and vegastrike.config.
If we had made copies or moved the files instead of symbolic linking, we would have to do the procedure of copying or moving every time we build the executables from source.
- Optionally, you can right-click the vegastrike link and make yet another link. This link can be moved over to the desktop or menu.
Optional High Quality Texture Files
You can optionally install high quality texture files. You would place this folder next to the data folder (not inside). So if data is in /home/USER/VegaStrike You would:
svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/hqtextures /home/USER/VegaStrike/hqtextures
As always, replace USER with your user name.
Staying updated with the Development Version
As development progresses the repository changes. In order to update your working copy you need to do the following.
- Change into the package's directory you want to update. In our tutorial example, all the packages were stored in a directory called VegaStrike. Let's assume we want to update the data package.
User@UserMachine:~$ cd VegaStrike
then
User@UserMachine:~/VegaStrike$ cd data
- After changing into the package's directory, update the SVN repository.
User@UserMachine:~/VegaStrike/data$ svn update
- Do this for every package you want to update. Exchange data with vegastrike.
- If something changed in the data package, you don't need to recompile.
- If something changed in the source code package vegastrike, you only need to repeat the building part of this tutorial. You should not need to type "make clean", however if you experience errors like "unresolved external symbol" it may remedy that error.
Running Vega Strike
Very simple. Just goto the directory data and type ./vegastrike or simply double click the symbolic link. Same for ./vssetup.