Latest Posts

Changes in Building Widelands

Old Title

BuildingWidelands


Editor Comment

Update OSX building


Revision Differences of Revision 43

## Building widelands ¶

This page is about building widelands for various OSes. If you managed to build widelands under you OS and you can't find informations about it here, please add them for the other who will come after you and try it. ¶

[TOC] ¶




### Libraries ¶

Widelands depends currently on the following libraries, make sure they all are installed and in the search path of your compiler. The suggested compiler to build widelands is gcc 3, but it might work with other compilers too. ¶

* [libSDL](http://www.libsdl.org/) >=1.2.11 ¶
* [libSDL_gfx](http://www.ferzkopp.net/joomla/content/view/19/14/) ¶
* [libSDL_image](http://www.libsdl.org/projects/SDL_image) ¶
* [libSDL_net](http://www.libsdl.org/projects/SDL_net) ¶
* [libSDL_mixer](http://www.libsdl.org/projects/SDL_mixer) >= 1.2.6 ¶
* [libSDL_ttf](http://www.libsdl.org/projects/SDL_ttf) >= 2.0.0 ¶
* [gettext](http://www.gnu.org/software/gettext/gettext.html) ¶
* libiconv (on same mirrors as gettext) ¶
* [zlib](http://www.zlib.net/) ¶
* [libpng](http://www.libpng.org/pub/png/libpng.html) ¶
* [Boost](http://www.boost.org/) >= 1.35 ¶
* [Python](http://www.python.org) >= 1.5.2 ¶
* [Scons](http://www.scons.org) >= 1.0.1 ¶
* [libexpat](http://www.libexpat.org/) ¶
* [ggz-base-libs](http://www.ggzcommunity.org) >= 0.99.5 ¶
* [lua](http://www.lua.org) >= 5.1 ¶

### Building with CMake (Experimental) ¶

Beginning with the WiHackTwentyTen meeting of Widelands developers, there have been ongoing efforts to move from the current SCons building system to CMake. It is still experimental and work-in-progress (so it is not ready for production), but you are very welcome to test, file bugs, comment or ask for features or assistance. More information you'll find at the WidelandsGoingCMake page. ¶

### Building under Linux (i386) with SCons ¶

This is actually the most simple of all cases: Get yourself all the libraries, make sure that sdl-config is in your searchpath and hit make in the unpacked widelands source dir. Everything should be ok, you can run the game directly from it's location. ¶

With the new build system (>build-9half), make sure you have Python installed and call scons from wideland's main directory. You can run the game directly from it's location. ¶

For further information, there is a page about UsingTheSconsBuildSystem. ¶




#### Build instructions for Ubuntu (all in terminal) ¶

This is a short HOWTO for downloading & compiling an up to date Widelands version from a terminal. ¶

* Install all needed packages: ¶
* $ sudo apt-get install build-essential python libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev gettext libiconv-hook-dev zlib1g-dev libpng12-dev libpngwriter0-dev cmake libstdc++6-4.3-dev libgcc1 exuberant-ctags optipng libboost-dev libexpat1 libexpat1-dev libggzmod-dev bzr lua5.1 liblua5.1-0 liblua5.1-dev ¶
* [Download](../DownloadPage) the latest build or obtain the branch: ¶
* $ bzr get lp:widelands ¶
(to update your local version change to "widelands" directory and execute "bzr pull") ¶
* Change directory: ¶
* $ cd widelands ¶
* Compile and run: ¶
* $ ./build_and_run.sh ¶
* if you like to run Widelands again later on: ¶
* $ ./widelands ¶

To update your version, again change to the widelands directory in a terminal and: ¶

* Update of sources ¶
* $ bzr pull lp:widelands ¶
* Compile the changes and start widelands ¶
* $ ./build_and_run.sh ¶

*Note: To match version requirements you may have to force the version of libboost-dev to 1.35 manually; Ubuntu Intrepid/Jaunty seems to default to 1.34 for libboost-dev. To force the version, install libboost1.35-dev instead of the generic libboost-dev.* If you use Ubuntu Karmic, then there should be no problems. ¶

### Building under Windows ¶

To access SVN, I suggest [Tortoise SVN](http://www.tortoiseSVN.org). ¶

#### Building under !MinGW ¶

Please visit BuildingWidelandsUnderWindows ¶

#### Building under MSVC ¶

Visual Studio 2008 is supported in trunk r5010 through CMake. Getting all the dependencies may be burdensome on windows, so most of the dependencies are provided in a bundle, which is available in lp:~jarih/+junk/widelands-3rdparty. Only need to add boost libraries. ¶

* Install required packages: ¶
* [Visual C++ 2008 Express](http://www.microsoft.com/express/Downloads/#2008-Visual-CPP) (VS2005 propably does not work) ¶
* [CMake](http://www.cmake.org/cmake/resources/software.html) 2.6.4 or later ¶
* [Python](http://www.python.org) ¶
* [Boost](http://www.boost.org) libraries, build with cmake if binaries are not around ¶
* [Bazaar](https://launchpad.net/bzr/+download) ¶
* Get source and 3rd party bundle ¶
* bzr get lp:widelands ¶
* bzr checkout lp:~jarih/+junk/widelands-3rdparty 3rdparty ¶
* Run cmake-gui, select out of source build ¶
* Configuring propably complains about boost include dir and some packages not found ¶
* set WL_3RDPARTY_DIR to point to 3rd party bundle directory ¶
* set boost_INCLUDE_DIR to your boost include directory (this is in advanced view) ¶
* build with vs2008 ¶
* copy dlls from 3rdparty/bin directory to debug/release directory ¶
* Running: set working dir to root source dir, or add commandline option to set datadir to root source dir. ¶

### Building under OSX ¶

First you need the developer tools from the apple site. Please download and install them first. ¶

#### Building under scons ¶
To build with scons take the MacPorts system from there site and install them. ¶

You'll need the following command (in Terminal.app) to install everything needed: ¶

* Install libs: ¶
* \# sudo port install gettext libpng zlib jpeg libvorbis freetype libsdl_image \ ¶
libsdl_mixer libsdl libsdl_net libsdl_sound libsdl_ttf boost lua bzr ¶

*Note: The installation of the above is very timeconsuming!* ¶

* Install scons: ¶
* \# sudo port install scons svk ¶
* [Download](../DownloadPage) latest build: ¶
* $ bzr get lp:widelands ¶
* Change directory: ¶
* $ cd widelands ¶
* Build: ¶
* $ scons ¶
* Run ¶
* $ ./widelands ¶

To get the wideland.app, you need to use Xcode. Type *scons -h* for the used vars and *scons -c* to clean. ¶

#### Building under Xcode 3.2 ¶
Widelands is
now build using Xcode 2 and 3 under OSX, you therefore need OSX 10.45 or higher. You also need some third party libraries. ¶

You
can download
Fur
them from XXXX or use yMacPourts with ¶

* I
neestall libs: ¶
* \# su
do tport install getthext libSDLpng fzlib jpeg libvorbis freethype folibsdlow_inmage \ ¶
libsdl_mixer libsdl libsdl_net libsdl_sound libsdl_ttf boost lua bzry:
* Download SDL_gfx. Yfrou can get them at [www.libsdl.org](http://www.libsdl.org).
The SDL-* Libs Unpareck availablend throughn searchbuingld win th Xcode
[libraries * sectBuion](http://www.ld Wibsdl.org/elibraries.php?&onds=5&ma witch_name=SDL_) MacPofrt thlibs: page.

Please
* aAdd the /opt/local/include /opt/local/include/SDL to the header search path
and the * Add /opt/local/lib to the library path.

*Note:
there is no * Add SDL_gfx precompiled library for OSX, so you amight need to build one (download and unpack sources, unpack XCode project under build/ directory, compile and copy created framework to the same location as other SDL libs).* ¶

*Also Note: The Xcode
project
file is not* Bup to ildate so thWidere are many chlanges neededs witoh gpret a clean compile.d At thlibs: ¶
point this issue is only recommended* for peCople they kunow whpat thckey do!* ¶

Now
fopening the Xcolde project in the /macos directory of the wWidelands SVN tree and compiling shouldt make a working widelands version for your OSX Version and your hardware (Intel, PPC). This binary should also work on every other Mac with > OSX 10.4 and the same processor. But beware: *there is no Universal Binary at this point.*

Good luck and by grace of God :D. If not, hHelp is available on the mailing list. ¶

#### Known bugs ¶

libsdl_image (at least 1.2.10) is broken under Mac OS X. ¶
To build it correctly, you need to add --disable-imageio to the configure flags, otherwise the terrain will be displayed wrongly inside of widelands. ¶
*Note: If using !MacPorts the fix above is obsolet.* ¶

Scons hangs on some points. You need to break by ctrl-c to continue. ¶