Difference between revisions of "Compiling VDrift"

From VDrift
Jump to: navigation, search
m (79 revisions: Import from old wiki (on 15 May 2012))
(Moved to Compiling)
 
Line 1: Line 1:
Compiling VDrift depends upon the build environment beeing set up correctly. See [[Getting VDrift]].
+
#REDIRECT [[Compiling]]
 
 
Compiling VDrift makes it possible to [[Installing|Installing VDrift]].
 
 
 
Compiling VDrift is different depending on the operating system on which it is compiled. So follow the applicable passage.
 
 
 
= Compiling on FreeBSD =
 
 
 
To compile VDrift on FreeBSD, use the ports system.
 
 
 
== Latest Release ==
 
 
 
If you downloaded a release, simply run <code>make</code> on the '''vdrift''' port:
 
 
 
  cd /usr/ports/games/vdrift && make install clean clean-depends
 
 
 
== Development Version ==
 
 
 
If you Downloaded the development version, copy the '''vdrift''' and '''vdrift-data''' ports to '''vdrift-devel''' and '''vdrift-data-devel''':
 
 
 
  cd /usr/ports/games && cp -rf vdrift vdrift-devel && cp -rf vdrift-data vdrift-data-devel
 
 
 
To compile, run <code>make</code> on the newly-created '''vdrift-devel''' port:
 
 
 
  cd /usr/ports/games/vdrift-devel && make install clean clean-depends
 
 
 
= Compiling on Linux =
 
 
 
== Prerequisites ==
 
 
 
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)
 
 
 
Make sure you have all the required libraries and build tools. Make sure you also have the development files for each of the libraries. 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.
 
 
 
=== Bullet ===
 
 
 
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]].}}
 
 
 
Ubuntu does not include a libbullet package, but getdeb does. To add the
 
getdeb-repository to your sources-list.d:
 
 
 
    wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
 
    sudo sh -c 'echo "deb http://archive.getdeb.net/ubuntu natty-getdeb games" > /etc/apt/sources.list.d/getdeb.list'
 
    sudo apt-get update
 
 
 
=== LibGLEW ===
 
 
 
{{note|VDrift requires libglew version greater than 1.5.3.}}
 
 
 
Ubuntu 11.04 (Natty Narwhal) does contain libglew1.5, only. To install
 
libglew1.6 and its development headers:
 
 
 
    wget http://archive.ubuntu.com/ubuntu/pool/universe/g/glew/libglew1.6_1.6.0-3_amd64.deb
 
    sudo dpkg -i libglew1.6_1.6.0-3_amd64.deb
 
    rm libglew1.6_1.6.0-3_amd64.deb
 
   
 
    wget http://archive.ubuntu.com/ubuntu/pool/universe/g/glew/libglew1.6-dev_1.6.0-3_amd64.deb
 
    sudo dpkg -i libglew1.6-dev_1.6.0-3_amd64.deb
 
    rm libglew1.6-dev_1.6.0-3_amd64.deb
 
 
 
=== Ubuntu 8.04 ===
 
 
 
For Ubuntu 8.04 you additionally need:
 
sudo apt-get install libboost-date-time-dev libboost-regex-dev
 
 
 
=== SCons ===
 
 
 
As of the 2005-10-02 release, VDrift no longer uses ./configure, make, etc. (autotools). Now the project is built with [http://scons.org/ 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 <code>./scons.py</code> command instead of <code>scons</code>.
 
 
 
=== All other Packages ===
 
 
 
 
 
All other required packages can be installed using this command:
 
 
 
    sudo apt-get install g++ libarchive-dev libarchive-dev libasio-dev \
 
                        libboost-dev libcurl4-gnutls-dev libdrm-dev \
 
                        libgl1-mesa-dev libglu1-mesa-dev libkms1 \
 
                        mesa-common-dev libsdl-gfx1.2-dev libsdl-image1.2-dev \
 
                        libsdl-net1.2-dev libvorbis-dev freeglut3 libbullet0 \
 
                        libbullet-dev scons
 
 
 
== 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 <code>scons</code> command, you should now replace that with <code>./scons.py</code>.}}
 
 
 
== Compiling ==
 
 
 
To compile VDrift, just use the <code>scons</code> 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
 
To enable force feedback, use this option:
 
scons force_feedback=1
 
You can get a list of all compile time options with:
 
scons --help
 
{{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 <code>scons install</code> 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 <code>/usr/local/share/games/vdrift</code>, 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.}}
 
 
 
= Compiling on Mac OS =
 
 
 
== Prerequisites ==
 
 
 
The VDrift Mac OS X project requires Xcode 3.2 or later. The latest version, [http://developer.apple.com/xcode/ Xcode] 4.2 is free on the [http://itunes.apple.com/us/app/xcode/id422352214?mt=12&ls=1 Mac App Store].
 
 
 
Get the VDrift source code, either from the latest source release on the [http://sourceforge.net/project/showfiles.php?group_id=137283 VDrift downloads page], or the [[Getting the development version#Mac OS X|development version]].
 
 
 
==Dependencies==
 
 
 
Download the Mac OS X dependancies into ''vdrift/vdrift-mac''
 
cd vdrift
 
git clone https://github.com/VDrift/vdrift-mac.git
 
 
 
== Building ==
 
 
 
Open ''vdrift/vdrift-mac/vdrift.xcodeproj'' and in Xcode 4 or higher click "Build" in the "Product" menu, otherwise hit "Build" from Xcode's "Build" menu.
 
 
 
== Error fixing ==
 
 
 
If when building, you get some errors, it is most likely because the Xcode project is out of date (it often is as we don't have an active Mac OS X developer). To fix it:
 
* Remove files from Xcode that are in the project but not in the repository anymore.
 
* Add new files to Xcode that are in the repository, but have not yet been added to the project.
 
 
 
= Compiling on Windows =
 
 
 
== Prerequisites ==
 
 
 
* Get the VDrift source code and data [[Getting the development version#Windows|development version]].
 
* Alternatively you can download certain vdrift revisions from gihub/sourceforge web interfaces. For source select a tag and click download https://github.com/VDrift/vdrift and https://github.com/VDrift/vdrift-win. Place vdrift-win into vdrift directory. For data select a tag and download the tarball http://vdrift.svn.sourceforge.net/viewvc/vdrift/tags/. Place data into vdrift directory.
 
 
 
== Building with Code::Blocks/MinGW ==
 
 
 
* Download [http://sourceforge.net/projects/mingw/files/ latest MinGW]. When asked to select components for install, you only need the base system and the g++ compiler.
 
* Your PATH Environment Variable should contain the MinGW bin path(e.g. C:\MinGW\bin;).
 
* Download [http://forums.codeblocks.org/index.php/board,20.0.html Code::Blocks nightly]
 
* Run "vdrift-win\premake4 codeblocks" command line from vdrift directory to generate the solution.
 
 
 
== Building with MSVC ==
 
 
 
* Run "vdrift-win\premake4 vs2008" or "vdrift-win\premake4 vs2010" command line from vdrift directory to generate the appropriate solution.
 
 
 
== Building with Scons(broken) ==
 
 
 
{{note|SCons will prefer the MSVC tools over the MinGW. So if you have Microsoft Visual Studio installed, you might have problems building VDrift with Scons.}}
 
* Download [http://sourceforge.net/projects/mingw/files/ latest MinGW]. When asked to select components for install, you only need the base system and the g++ compiler.
 
* Your PATH Environment Variable should contain the MinGW bin path(e.g. C:\MinGW\bin;).
 
* Download [http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi Python 2.6.4]
 
* Run the installer and accept all the defaults.
 
 
 
* Download [http://www.scons.org/ SCons 1.20]
 
* Run the installer. It should find your Python installation, accept all defaults.
 
* Your PATH Environment Variable should contain the Python and Python scripts paths(e.g. C:\Python26;C:\Python26\Scripts;).
 
* Open a new CMD prompt by choosing START, RUN, cmd, OK.
 
* Change directories to the spot where you checked VDrift out.
 
* Now, to build VDrift, run the command:
 
tools/win/bin/build_vdrift.bat
 
 
 
== Installing VDrift Data ==
 
 
 
* Move or copy the VDrift data to a directory named data within the root VDrift directory. This can be done in a few different ways, depending on how you obtained the VDrift data. You could check it out directly here, or you could check it out in another place and use TortoiseSVN to export it to this location. If you downloaded a VDrift data archive you can extract it here, or extract it elsewhere and then move or copy the necessary files to runtime. In the end, just make sure you have a directory structure with paths like '''VDrift/data/cars/''', '''VDrift/data/tracks/''', etc.
 
 
 
[[Category:Development]]
 
[[Category:Review]]
 
[[Category:Operating Systems:FreeBSD]]
 
[[Category:Operating Systems:Linux]]
 
[[Category:Operating Systems:Mac OS X]]
 
[[Category:Operating Systems:Windows]]
 

Latest revision as of 12:52, 26 August 2012

Redirect to: