DarkRadiant - Compiling in Linux: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
Ubuntu 8.04 instructions (I used code tags because the box you get by putting a space before the text doesn't have word wrap)
Oops, should have been a subsection
Line 44: Line 44:
For the D3Hook plugin, the boost/asio library is needed (version 0.3.7, newer versions don't work). This library is located in the plugins/dm.d3hook/boost/ folder and should be ready for compilation.
For the D3Hook plugin, the boost/asio library is needed (version 0.3.7, newer versions don't work). This library is located in the plugins/dm.d3hook/boost/ folder and should be ready for compilation.


== Ubuntu 8.04 ==
=== Ubuntu 8.04 ===
Copy and paste the following into a terminal:
Copy and paste the following into a terminal:



Revision as of 19:59, 14 May 2008

Install Libraries and Tools

Ubuntu 7.04

You'll need a bunch of packages to get DarkRadiant to compile without glitches. I can't remember all from the top of my head, I will try to complete this list during my next Linux setup, but don't hold your breath. These are the names as found in Ubuntu 7.04 (Feisty Fawn):

  • g++
  • gcc-4.1
  • scons 0.96.93 (or higher)
  • libboost-dev
  • libboost-serialization-dev
  • libboost-filesystem-dev
  • libboost-regex-dev
  • libglew-dev
  • libgtk2.0-dev
  • libglib2.0-dev (maybe installed with libgtk2.0-dev)
  • libgtkglext1-dev
  • libxml2-dev
  • libopenal-dev
  • libalut-dev
  • libvorbis-dev

Always download all the dependencies as well. Python should already be installed by Ubuntu at least, other distributions might require to install it separately.

If you get an error about the G++ compiler not being found, make sure you also install the g++ package, and not just the g++-4.1 package.

Ubuntu 7.10

  • g++
  • scons 0.97
  • libboost-dev
  • libboost-regex-dev
  • libgtk2.0-dev
  • libglew1.4-dev
  • libgtkglext1-dev
  • libxml2-dev
  • libboost-serialization-dev
  • libboost-filesystem-dev
  • libboost-date-time-dev
  • libalut-dev
  • libvorbis-dev

Always download all the dependencies as well.

For the D3Hook plugin, the boost/asio library is needed (version 0.3.7, newer versions don't work). This library is located in the plugins/dm.d3hook/boost/ folder and should be ready for compilation.

Ubuntu 8.04

Copy and paste the following into a terminal:

sudo apt-get install g++ scons libboost-dev libboost-regex-dev libgtk2.0-dev libglew1.5-dev libgtkglext1-dev libxml2-dev libboost-serialization-dev libboost-filesystem-dev libboost-date-time-dev libalut-dev libvorbis-dev

In the terminal, Ctrl Shift V is used for pasting instead of Ctrl V.

Obtain the source

Install the subversion client. On Ubuntu this can be done via the Synaptic Manager or the command line:

sudo apt-get install subversion

Change to the directory where you want the source code to be in and then check the current version out of SVN with:

svn checkout https://darkradiant.svn.sourceforge.net/svnroot/darkradiant/trunk/darkradiant/ darkradiant

Compile

Change to the source directory and use scons to create a release build:

cd darkradiant
scons BUILD="release"

The compilation can take quite a few minutes, depending on your system.

If you use scons without arguments, a debugging build will be created, which can take even longer.

Next time you want to compile DarkRadiant, you can just type scons, the last build type is remembered by scons.

A fresh compile can be performed by clearing the compiled binaries first:

scons -c
scons BUILD="release"

If you want to update the source with the latest version from the SVN, just issue:

svn update

in the darkradiant source directory. svn info shows you what version you currently have.

Note for users with Multiprocessor Systems

Scons can run several jobs simultaneously, which can use your multicore system to its full capacity. By calling

scons JOBS="2"

the tool runs up to two compile tasks at the same time, which speeds up things a bit.

For a dual-core setup, a value of 2 jobs should be is sufficient, especially if you have only one Gbyte of memory, or less. If your machine has 2 or more Gbyte, you can also try higher values like:

scons JOBS="4"

See also