DarkRadiant - Compiling in Linux: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Install Libraries and Tools == | == Install Libraries and Tools == | ||
== Ubuntu 15.10 x64 / Kubuntu 16.04 x64 == | === Ubuntu 15.10 x64 / Kubuntu 16.04 x64 === | ||
Copy and paste the following into a terminal: | Copy and paste the following into a terminal: | ||
Line 7: | Line 7: | ||
<code>sudo apt-get install automake libtool pkg-config zlib1g-dev libjpeg62-dev libwxgtk3.0-dev libxml2-dev libsigc++-2.0-dev libpng12-dev libftgl-dev libglew-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libboost-test-dev libalut-dev libvorbis-dev</code> | <code>sudo apt-get install automake libtool pkg-config zlib1g-dev libjpeg62-dev libwxgtk3.0-dev libxml2-dev libsigc++-2.0-dev libpng12-dev libftgl-dev libglew-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libboost-test-dev libalut-dev libvorbis-dev</code> | ||
== Debian 8.2 == | === Debian 8.2 === | ||
The same instructions as for Ubuntu 15.10 should work, but instead use this command line to install the dependencies (the libjpeg package is named differently): | The same instructions as for Ubuntu 15.10 should work, but instead use this command line to install the dependencies (the libjpeg package is named differently): | ||
Line 13: | Line 13: | ||
<code>sudo apt-get install automake libtool pkg-config zlib1g-dev libjpeg62-turbo-dev libwxgtk3.0-dev libxml2-dev libsigc++-2.0-dev libpng12-dev libftgl-dev libglew-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libboost-test-dev libalut-dev libvorbis-dev</code> | <code>sudo apt-get install automake libtool pkg-config zlib1g-dev libjpeg62-turbo-dev libwxgtk3.0-dev libxml2-dev libsigc++-2.0-dev libpng12-dev libftgl-dev libglew-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libboost-test-dev libalut-dev libvorbis-dev</code> | ||
== Ubuntu 12.04 x64 == | === Ubuntu 12.04 x64 === | ||
Copy and paste the following into a terminal (at least that's what worked in the beta2): | Copy and paste the following into a terminal (at least that's what worked in the beta2): |
Revision as of 16:38, 16 August 2016
Install Libraries and Tools
Ubuntu 15.10 x64 / Kubuntu 16.04 x64
Copy and paste the following into a terminal:
sudo apt-get install automake libtool pkg-config zlib1g-dev libjpeg62-dev libwxgtk3.0-dev libxml2-dev libsigc++-2.0-dev libpng12-dev libftgl-dev libglew-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libboost-test-dev libalut-dev libvorbis-dev
Debian 8.2
The same instructions as for Ubuntu 15.10 should work, but instead use this command line to install the dependencies (the libjpeg package is named differently):
sudo apt-get install automake libtool pkg-config zlib1g-dev libjpeg62-turbo-dev libwxgtk3.0-dev libxml2-dev libsigc++-2.0-dev libpng12-dev libftgl-dev libglew-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libboost-test-dev libalut-dev libvorbis-dev
Ubuntu 12.04 x64
Copy and paste the following into a terminal (at least that's what worked in the beta2):
sudo apt-get install automake libtool g++ zlib1g-dev libjpeg62-dev libxml2-dev libgtkmm-2.4-dev libglew1.6-dev libalut-dev libvorbis-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libgtkglextmm-x11-1.2-dev ftgl-dev
The GTKmm Surceview 2.0 packages seem to have been removed from the Ubuntu repository in favour of the newer 3.0 variant, to download the .debs go to these sites and install them manually, in this order:
- https://launchpad.net/ubuntu/precise/amd64/libgtksourceviewmm-2.0-2/2.3.1-1
- https://launchpad.net/ubuntu/precise/amd64/libgtksourceviewmm-2.0-dev/2.3.1-1
The python and the gtksourceviewmm headers are needed for the optional scripting plugin. The alut and vorbis headers are used by the optional sound module.
Ubuntu 11.10
Copy and paste the following into a terminal (at least that's what worked in the beta2):
sudo apt-get install automake libtool g++ zlib1g-dev libjpeg62-dev libxml2-dev libgtkmm-2.4-dev libglew1.6-dev libalut-dev libvorbis-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libgtksourceviewmm-2.0-dev libgtkglextmm-x11-1.2-dev
The python and the gtksourceviewmm headers are needed for the optional scripting plugin. The alut and vorbis headers are used by the optional sound module.
Ubuntu 10.10
Copy and paste the following into a terminal:
sudo apt-get install automake libtool g++ libgtkmm-2.4-dev libjpeg62-dev libgtkglextmm-x11-1.2-dev libxml2-dev libglew1.5-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-python-dev libalut-dev libvorbis-dev libgtksourceviewmm-2.0-dev
The python and the gtksourceviewmm headers are needed for the optional scripting plugin. The alut and vorbis headers are used by the optional sound module.
Ubuntu 9.10
Copy and paste the following into a terminal:
sudo apt-get install g++ libboost1.38-dev libgtk2.0-dev libglew1.5-dev libgtkglext1-dev libxml2-dev libalut-dev libvorbis-dev libboost-python-dev python-dev libgtksourceview2.0-dev
The python headers are needed for the optional scripting plugin.
Adjust the configure.ac file, as Ubuntu 9.10 appends the postfix -mt for each boost library installed in /usr/lib:
boost_regex => boost_regex-mt boost_filesystem => boost_filesystem-mt boost_system => boost_system-mt boost_python => boost_python-mt
# Boost.Regex AC_CHECK_LIB([boost_regex-mt], [main], [REGEX_LIBS='-lboost_regex-mt'], [AC_MSG_ERROR([Boost.Regex not found])]) AC_SUBST([REGEX_LIBS]) # Boost.Filesystem AC_CHECK_LIB([boost_filesystem-mt], [main], [BOOST_FILESYSTEM_LIBS='-lboost_filesystem-mt'], [AC_MSG_ERROR([Boost.Filesystem not found])]) AC_SUBST([BOOST_FILESYSTEM_LIBS]) # Boost.System AC_CHECK_LIB([boost_system-mt], [main], [BOOST_SYSTEM_LIBS='-lboost_system-mt'], [AC_MSG_ERROR([Boost.System not found])]) AC_SUBST([BOOST_SYSTEM_LIBS])
Same for the Python check below in configure.ac:
AC_CHECK_LIB([boost_python-mt], [main], [BOOST_PYTHON_LIBS='-lboost_python-mt'], [script_module=])
Then re-run ./autogen.sh and ./configure
Ubuntu 8.04
Copy and paste the following into a terminal:
sudo apt-get install g++ 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 libboost-python-dev python-dev
The python headers are needed for the optional scripting plugin.
In the terminal, Ctrl Shift V is used for pasting instead of Ctrl V.
Fedora 15
Open a console and type:
sudo yum install gcc gcc-c++ automake zlib-devel libjpeg-turbo-devel libxml2-devel glew-devel boost-devel sudo yum install gtk2-devel gtkmm24-devel gtkglextmm-devel gtksourceviewmm-devel libvorbis-devel freealut-devel python-devel
Obtain the source
Install the git client. On Ubuntu this can be done via the Synaptic Manager or the command line:
sudo apt-get install git
Fedora users can use this yum command line:
sudo yum install git
Change to the directory where you want the source code to be in and then clone the Git repository with:
git clone git://github.com/codereader/DarkRadiant.git
Once the initial clone is done, the source can be updated to the latest version from inside the working directory with:
git pull
Compile
Note: in the past, DarkRadiant was built using SCons. This build system has now been removed in favour of the standard Automake build.
First, make sure you have the automake toolchain downloaded.
Debian/Ubuntu/Aptitude users:
sudo apt-get install libtool autoconf
Fedora 15 users:
sudo yum install libtool gettext-devel
Then run
./autogen.sh
in your darkradiant folder.
DarkRadiant employs an Autoconf/Automake build system under Linux as used in the majority of open-source projects. Compilation can be achieved using the standard
$ ./configure $ make $ make install
on most systems.
By default, a release build will be created; if a debug build is required pass the --enable-debug option to the configure script.
Other points to note about the configure process:
- The DarkMod-specific plugins are not built by default. To enable these, pass --enable-darkmod-plugins to ./configure.
- The configure script autodetects required dependencies, and will conditionally-enable optional components of DarkRadiant (such as the sound plugin) based on what it finds.
- For quick testing of a DarkRadiant build, it is desirable to install it into a temporary location rather than the default of /usr/local; for this, simply pass a prefix option such as --prefix=/tmp/dr to configure, after which DarkRadiant will be installed in /tmp/dr/bin/darkradiant.
Multiprocessor Systems
You can pass the --jobs=N parameter to make:
make --jobs=2
to use more than one processor for the compilation.
Building a .deb package
To build a Debian/Ubuntu package, simply run
dpkg-buildpackage -rfakeroot
in the main darkradiant directory. The .deb will be created in the parent directory.