User Tools

Site Tools


compile_instructions

This is an old revision of the document!


Compile Instructions

Introduction

Compiling wolfpack is not a hard task, but may be challenging for the first time. The following guidelines should help you accomplish just that.

Please read all of your platform's sections before starting. Any questions regarding this can be directed to our Support Forums at the main website.

Windows

Requirements

Wolfpack requires Python 2.4.x or Python 2.6.x and Nokia's Qt 4.1.x or later (4.6.1 is recommended)

If you wish to use MySQL, you will also need to download MySQL itself before compiling, since it comes with header files and libraries required to activate MySQL support on Wolfpack.

Make sure that the QTDIR enviroment variables is properly set. QTDIR should point to your qt folder, that is, where $QTDIR/include, $QTDIR/lib and $QTDIR/bin/qmake can be found.

The examples shown here will also assume that $QTDIR/bin is in your $PATH.

Installing Qt

For compiling Qt yourself please follow up the specific instructions from Trolltech. Otherwise just download Qt SDK (LPGL) and install it. Don't forget to set the paths mentioned above.

Generating Makefiles

Go to the folder containing wolfpack folders. Inside the build folder you should find the configure script (configure2.py) The configure script will try to locate the headers and libraries required in your system and pass them to qmake to generate a makefile. Some options can be enabled/disabled from arguments passed to configure, check configure2.py –help for details on them. To run the script, call it with configure2.py. Eventually you might have to specify the full Python path ( usually c:\Python24 ), in case that folder isn't in your PATH environment variable

C:\Python24\python configure.py 

Now change to the path ../boost and do mingw32-make. After compiling change back to ../build and compile Wolfpack server by typing mingw32-make. That's it.

PS: You can also run make, nmake or mingw-make depending on your compiler. We recommend mingw32-make as it comes with Qt.

Compiler Specific Notes

Unfortunally, different compilers have some sligtly differences in make's name, or requires additional steps.

MinGW

Python doesn't come with the import library file for linking with MingW, so you will have to generate it before running the configure script.

To do so, you will need to download pexports.exe ( pexports 0.42h ). Extract it somewhere in your PATH, as a suggestion, use MingW's bin folder ( usually c:\mingw\bin ). Locate python24.dll, usually it's in c:\winnt\system32 or c:\windows\system32. Go to c:\Python24\libs ( or the equivalent to your installation ) and run pexports c:\WINNT\system32\python24.dll > python24.def to build a list of exported functions, then dlltool –dllname python24.dll –def python24.def –output-lib libpython24.a to build the import library file we need.

cd \Python24\libs
pexports c:\WINNT\system32\python24.dll > python24.def
dlltool --dllname python24.dll --def python24.def --output-lib libpython24.a

If you want to enable MySQL support, you will have to take similar steps to build an import library to mysql.

Linux

Requirements

Wolfpack requires Python 2.3.x and Trolltech's Qt 4.0.x. Please note that many Linux distributions split the forementioned software into several packages. You will need the “development” packages in additional to the “standard” ones, if that's the case in your specific distribution. Please refer to Distribution Specific Notes for details.

Wolfpack will also require MySQL libraries and headers (aka development package) if you want to use MySQL, otherwise, it will default to the SQLite shiped along with Wolfpack.

Make sure that the QTDIR and QMAKESPEC enviroment variables are properly set. QTDIR should point to your qt folder, that is, where $QTDIR/include, $QTDIR/lib and $QTDIR/bin/qmake can be found. QMAKESPEC is the platform + compiler identification, see qmake Documentation for details. The examples shown here will also assume that $QTDIR/bin is in your $PATH.

Generating Makefiles

Go to the folder containing wolfpack folders then do a chmod +x configure to fix the script permission. The configure script will try to locate the headers and libraries required in your system and pass them to qmake to generate a makefile. Some options can be enabled/disabled from arguments passed to configure, check configure –help for details on them.

chmod +x configure
./configure

If you don't have installed the Boost-packages or want them to link statically, you have to build the special boost-library:

cd ../boost
qmake
make

Debian GNU/Linux Client: (In the moment you have to add a path to your Python include files e.g. /usr/include/python2.4 manually)

Distribution Specific Notes

Debian

  • Recommended that you use at least Debian Etch
  • QT4 Packages: libqt4-core libqt4-dev
  • Python Packages: python2.3 python2.3-dev
    • Python 2.4 to 2.7 ist also acceptable
  • Boost: libboost-python1.33.1 libboost-python-dev
  • OpenAL Packages: lobopenal0 libopenal-dev (required for the client)
  • Recommended Packages: python2.3-mysqldb python2.3-sqlite python2.3-xml libsqlite0 libsqlite0-dev sqlite sqlite-doc
  • MySQL Packages: libmysqlclient-dev libmysqlclient12 mysql-client mysql-common mysql-server

You don't need to add $QTDIR/bin to your path. The QT-programs are all in /usr/bin. But make sure, you configured the alternatives if you have installed both QT3 and QT4:

update-alternatives --configure lrelease
update-alternatives --configure lupdate
update-alternatives --configure moc
update-alternatives --configure qmake
update-alternatives --configure uic

MacOS X

This is actually in testing

  • Install Python 2.7.6
  • Install QT 5.2.1
  • Install Command line tools for Xcode
  • Open Terminal, shange to directory of your choice e.g. your home directory /Users/<username>
  • Set QTDIR environment variable
    vi ~/.bashrc
    export QTDIR=/users/<username>/Qt5.2.1/5.2.1/clang_64/
  • Set Xcode path: sudo xcode-select -switch /
  • Make working directory
    mkdir wpdev
    cd wpdev
  • Get current Sourcecode:
    svn checkout svn://...
  • Configure
    cd trunk/server/build
    ./configure.py

First Blocker: configure2.py calls qmake:

  • /usr/bin/xcrun -find xcrun does not terminate
  • First Test for Resolution: Install complete Xcode 5.1

Second BLocker:

  • Linking error: clang: error: no such file or directory: 'Python.framework/Versions/2.7/Python'

QTDIR setzen

vim ~/.bash_profile
export QTDIR=/Users/administrator/Qt5.2.1/5.2.1/clang_64
source ~/.bash_profile
compile_instructions.1395409408.txt.gz · Last modified: 2014/03/21 14:43 by thooge