Prerequisites: You'll need to have these libraries (with equivalent devel versions) to build Wesnoth: libsdl1.2.7 libsdl-image1.2 (with png support) libsdl-mixer1.2 (with Vorbis support) libsdl-net libfreetype2 Recommended (can be deactivated via ./configure --disable-python): python2.4 SDL* libraries can be found at http://www.libsdl.org . libfreetype can be found at http://www.freetype.org/ . python can be found at http://www.python.org You will also need to have a working installation of gettext to build the translations. The .tar.bz2 file is distributed with a working set of configure files. They are not in the SVN repository. Consequently, if you are building from SVN, you will need autoconf (>= 2.59) and automake (>= 1.9). Run './autogen.sh' then to generate the configure files. Sourcecode: You can get it here: http://www.wesnoth.org/downloads Compiling: First untar the package: $ tar xfjv wesnoth-x.y.z.tar.bz2 then $ cd wesnoth-x.y.z Do this $ autogen.sh $ make $ sudo make install to compile the wesnoth binary and install it along with the game data to the default prefix, which is probably /usr/local. You can pass configure options to the autogen.sh call After your first build, it should not be necessary to call autogen.sh again. You can do $ configure $ make $ sudo make install If you see lots of messages like "Type 'svnversion --help' for usage.", you have a Subversion client installed but it is not implementing the -n option of svnversion. Time to update it. If you want to build wesnoth_editor too add the --enable-editor configure option. The --enable-display-revision option enables code that shows the SVN revision number on the main screen -- useful for detecting old builds you might happen to have in your path, but probably not what you want in a production release. In case you want wesnothd to be built you should add: --enable-server --localstatedir=/var --with-server-uid=user --with-server-gid=group $localstatedir/run is the location where a wesnothd subdirectory will be created owned by user:group. This is relevant if you want to be able to communicate with wesnothd through a fifo file named socket. You have to run wesnothd with the user specified while configuring in order for it to work. You most likely want to change the default localstatedir since it will probably default to PREFIX/var. You can also specify the fifodir directly by using --with-fifodir This way localstatedir won't be used. If you want to install several versions of wesnoth you should use the --with-preferences-dir= parameter to get distinct preferences directories. The default is '.wesnoth'. Rebuilding: You should clean your existing wesnoth release build first with: $ make distclean If you want to clean your wesnoth SVN build do: $ make maintainer-clean