Difference between revisions of "Old Method of Compiling on Linux"

From VDrift
Jump to: navigation, search
Line 19: Line 19:
 
* '''libvorbis''' - The Vorbis General Audio Compression Codec
 
* '''libvorbis''' - The Vorbis General Audio Compression Codec
 
* '''libbullet''' - Bullet Physics Library
 
* '''libbullet''' - Bullet Physics Library
 +
* '''libcurl''' - the multiprotocol file transfer library
 
* '''libarchive''' - library for reading and writing archive formats
 
* '''libarchive''' - library for reading and writing archive formats
 
* Boost C++ Libraries (header-file-only)
 
* Boost C++ Libraries (header-file-only)
Line 26: Line 27:
  
 
For Ubuntu, all the required packages may be installed using this command:
 
For Ubuntu, all the required packages may be installed using this command:
  sudo apt-get install g++ scons libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libvorbis-dev libglew-dev libbullet-dev libasio-dev libboost-dev libarchive-dev
+
  sudo apt-get install g++ scons libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libvorbis-dev libglew-dev libbullet-dev libasio-dev libboost-dev libcurl4-gnutls-dev libarchive-dev
  
 
For Ubuntu 8.04 you additionally need:
 
For Ubuntu 8.04 you additionally need:

Revision as of 06:43, 30 August 2011

Template:Update

Linux

Prerequisites

Make sure you have all the required libraries and build tools. Make sure you also have the development files for each of the libraries.

The required build tools include:

  • g++ - The GNU C++ compiler
  • scons - A replacement for Make

The required libraries include:

  • libsdl - Simple Direct Media Layer
  • libglew - OpenGL extension utilities
  • sdl-gfx - Graphics drawing primitives library for SDL
  • sdl-image - Image file loading library for SDL
  • vorbisfile - File loading library for the ogg vorbis format
  • libvorbis - The Vorbis General Audio Compression Codec
  • libbullet - Bullet Physics Library
  • libcurl - the multiprotocol file transfer library
  • libarchive - library for reading and writing archive formats
  • Boost C++ Libraries (header-file-only)
  • ASIO C++ Libraries (header-file-only)

Your Linux distribution may have different package names and/or bundled differently. The list above should give enough information to search for applicable packages within your distribution's package manager.

For Ubuntu, all the required packages may be installed using this command:

sudo apt-get install g++ scons libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libvorbis-dev libglew-dev libbullet-dev libasio-dev libboost-dev libcurl4-gnutls-dev libarchive-dev

For Ubuntu 8.04 you additionally need:

sudo apt-get install libboost-date-time-dev libboost-regex-dev

Bullet

As of SVN R2358 (2009-06-15 release and later), no steps are required to build bullet and you can continue to the next section.

For the 2009-02-15 release, the only step required is to expand the Bullet source archive:

tar zxvf bullet-2.73-sp1.tgz
Note: For older versions of VDrift, you will need to follow the Old Method of Compiling Bullet.

SCons

As of the 2005-10-02 release, VDrift no longer uses ./configure, make, etc. (autotools). Now the project is built with SCons. You may want to read a little about Using SCons.

There are two ways to use SCons. The first way is to install scons on your system through your package manager, then you can use it simply by the name of the program, "scons". If you followed the directions for installing prerequisites for Ubuntu above, then you're done and can continue on to the next section. The second way is to use the scons-local package (included with VDrift) which will do the same thing but doesn't require that you install scons on your system. To do this, you must move the scons-local-0.96.95.tar.gz archive from tools to the root vdrift folder, un-tar the archive, and then use the ./scons.py command instead of scons.

Get the Code

You can get the code from a source package for a particular version, or you can get the development version.

Source Package

Download the latest VDrift Linux source package. All the files in the package are in a directory called vdrift-version-src where version is something like 2009-06-15.

Unpack the archive.

tar jxvf vdrift-2009-06-15-src.tar.bz2
Enter directory

Now change directories into the location of your newly created VDrift source tree.

cd vdrift-2009-06-15

Optional: Using scons-local instead of installing SCons

If you have decided not to install SCons on your system, you can use scons-local. To set it up, do the following:

tar zxvf tools/scons-local-0.96.1.tar.gz
Note: Some of the following steps refer to the scons command, you should now replace that with ./scons.py.

Compiling

To compile VDrift, just use the scons command.

scons

Optional: Compile Options

You can use one or more compile options. To compile with optimization for a certain platform, you can use the arch option.

scons arch=a64

Compiling VDrift in release mode will turn off debugging options, and enable more compiler optimizations. VDrift runs much more quickly in release mode.

scons release=1
Note: These options are probably best left off the first time you compile. If you have problems compiling or running VDrift, it is easier to debug with them off. Once you verify that VDrift is compiling, then recompile with these optimizations to improve performance.

Installing

VDrift does not need to be installed to work and you can run it from the folder where you compiled it. If you do want to install, use the SCons build target install. This command must be run as root.

sudo scons install
Note: The scons install process was broken for several releases including the 2009-02-15 release and may fail to install needed datafiles. If you have release 2009-02-15 or earlier, run "sudo scons install" as noted above and then manually re-copy the data files to the installed destination folder:
sudo cp -r data/* /usr/share/games/vdrift/data

Optional: Installation Location

You can change the installation prefix. For example, if you want VDrift to go in /usr/local/share/games/vdrift, you can change the prefix setting.

scons install prefix=/usr/local
Note: There are many more build and install options, see the Using SCons page for more information.

Running

For release 2009-02-15 and earlier, if you used the default install locations, VDrift can be run with the command:

/usr/share/games/vdrift/bin/vdrift

For release 2009-06-15 and later, if you used the default install locations, VDrift can be run with the command:

/usr/local/bin/vdrift