Building the Linux Client & Server

Create a Ryzom project directory and a ryzom_env.sh script within it.

#!/bin/bash
export RYZOM_ROOT=$(dirname $(readlink -f $0))

Everything related to Ryzom will be contained within this directory.

Dependencies

The following additional packages will be needed:

  • mercurial libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-dev rrdtool libmysqlclient15-dev bison libxmu-dev autoconf automake

Available CMake definitions can be reviewed using “ccmake ../ryzomcore/code”

Building

cd ${RYZOM_ROOT}
hg clone https://bitbucket.org/BWGaryP/ryzomcore
cd ryzomcore && hg update -c compatibility-develop

Dynamic Client

cd ${RYZOM_ROOT} && mkdir build_client && cd build_client
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON ../ryzomcore/code
make -j8

A static client may require a custom built libcurl.

Static Server

cd ${RYZOM_ROOT}/ryzomcore/ && mkdir build && cd build
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_CLIENT=OFF -WITH_RYZOM_TOOLS=OFF -DWITH_3D=off -DWITH_SOUND=OFF -DWITH_STATIC=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_QT=OFF -DWITH_GUI=OFF ../code/

Note: The server is built using a build directory within ryzomcore due to a few hard-coded paths to the server binaries.

Tools

cd ${RYZOM_ROOT} && mkdir build_tools && cd build_tools
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_RYZOM_CLIENT=OFF -WITH_RYZOM_TOOLS=ON -DWITH_RYZOM_SERVER=OFF -DWITH_STATIC=ON -DCMAKE_PREFIX_PATH=${RYZOM_ROOT}/local ../ryzomcore/code/

Extra Libraries

libsquish is needed to build a couple of tools such as tga_2_dds, panoply_maker, hls_bank_maker… These tools are needed by the 2_build.py build script for rebuilding data. This is not available in the Debian Jessie package repository. Use the version available in “packaging” branch of Kervala’s packaging repo.

cd ${RYZOM_ROOT}
hg clone http://hg.kervala.net/packaging
hg clone http://hg.kervala.net/cmake
export CMAKE_MODULE_PATH=$(pwd)/cmake/modules
cd packaging/squish
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=${RYZOM_ROOT}/local ..
make
make install

There may be an error about needing C enabled due to try_compile. If so, add C to the existing CXX in the CMakeFiles.txt Project line for squish.

To allow cmake to find squish when building the tools, configure with -DCMAKE_PREFIX_PATH=${RYZOM_ROOT}/local

Continue on to Building Windows Client/Tools