« Previous -
Version 64/89
(diff) -
Next » -
Current version
molator, 05/06/2011 11:50 am
Building NeL and Ryzom Client with CMake on GNU/Linux¶
- Building NeL and Ryzom Client with CMake on GNU/Linux
Installing Dependencies¶
Packages¶
Most of the dependencies are available in the distribution system.
Ubuntu¶
sudo apt-get install 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
Gentoo¶
Note: for Gentoo you will probably need to activate the openssl flag for curl before emerging :
echo "net-misc/curl ssl" >> /etc/portage/package.use
dev-cpp/luabind had trouble with boost, so it's not in the official Portage tree. You can use layman, though, and add the gamerlay overlay:
layman -a gamerlay
The package is also masked, so you'll have to unmask it.
emerge -av net-misc/curl dev-cpp/luabind media-libs/freetype x11-libs/libX11 \ media-libs/mesa x11-libs/libXxf86vm media-libs/openal media-libs/freealut \ media-libs/libogg media-libs/libvorbis dev-libs/libxml2 dev-util/cmake \ media-libs/libpng media-libs/jpeg net-analyzer/rrdtool sys-devel/bison net-libs/libwww dev-util/cpptest
Then you only have to manually install squish (see bellow)
Arch Linux¶
pacman -S curl freetype2 libx11 mesa libxxf86vm openal freealut libogg libvorbis \ libxml2 cmake libpng libjpeg rrdtool bison libwww boost
You can install Luabind by following instructions on next paragraph, or making use of AUR luabind package:
http://aur.archlinux.org/packages.php?K=luabind&do_Search=Go
Luabind¶
On Ubuntu Lucid, luabind is in the distribution, skip this section.
If luabind is missing or too old in your distribution, you might want to compile yourself with :
hg clone http://hg.kervala.net/packaging/file/ cd luabind mkdir build cd build cmake .. make sudo make install
libwww-dev¶
In Ubuntu lucid this package doesn't seem to exist. You can however use the package from Karmic or download the source.
NOTE: If you are using Ubuntu and want to install libwww-dev you can add the karmic archive to your /etc/apt/sources.list as follows:
deb http://us.archive.ubuntu.com/ubuntu/ karmic universe deb-src http://us.archive.ubuntu.com/ubuntu/ karmic universe deb http://us.archive.ubuntu.com/ubuntu/ karmic-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ karmic-updates universe
then sudo apt-get update and sudo apt-get install libwww-dev
You can compile yourself with Ubuntu patched sources :
hg clone http://hg.kervala.net/packaging/file/ cd libwww ./autogen.sh ./configure --with-ssl=no --with-zlib --with-expat --with-gnu-ld --enable-shared make sudo make install
- Note: you may have to run : sudo chmod 755 configure : if you get an error that ./configure is not a program or permission denied.
Above source does not build on Linux Mint Debian (and maybe other Debian based distros) Binaries from Etch can be installed from the archive:
32bit
aptitude install libexpat1-dev wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww0_5.4.0-11_i386.deb wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww-dev_5.4.0-11_i386.deb dpkg -i libwww0_5.4.0-11_i386.deb libwww-dev_5.4.0-11_i386.deb
64bit
aptitude install libexpat1-dev wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww0_5.4.0-11_amd64.deb wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww-dev_5.4.0-11_amd64.deb dpkg -i libwww0_5.4.0-11_amd64.deb libwww-dev_5.4.0-11_amd64.deb
libsquish¶
You can compile yourself with :
hg clone http://hg.kervala.net/packaging/file/ cd squish mkdir build cd build cmake .. make sudo make install
cpptest¶
You can compile yourself with :
hg clone http://hg.kervala.net/packaging/file/ cd cpptest sh ./autogen.sh ./configure make sudo make install
- Note: Also check aptitude to ensure that the libraries are not available.
Get the sources¶
Warning: Make sure you do not have the packages libnel or libnel-dev already installed from the main repositories as of writing this they are at version 0.5 which is too old to build the game with.
After getting the dependencies make sure you have downloaded the code and then define the directory where you have downloaded it:
export RYHOME="/path/to/ryzom/code"
Building and installing the NeL and Ryzom¶
Building¶
Before continuing make sure you have installed the packages you just generated earlier (or that you installed them with make install)
mkdir $RYHOME/build && cd $RYHOME/build cmake -DWITH_NEL_TESTS=OFF .. make -j3 *Note: Its make -j<# of cores +1>If you want to use lua 5.0 instead of lua 5.1, add -DWITH_LUA51=OFF to the cmake command line.
You can avoid building client/server/tools by specifying:
- -DWITH_NEL_SAMPLES=OFF
- -DWITH_NEL_TOOLS=OFF
- -DWITH_RYZOM_CLIENT=OFF
- -DWITH_RYZOM_SERVER=OFF
- -DWITH_RYZOM_TOOLS=OFF
- -DWITH_NEL=ON -DWITH_SOUND=OFF
Currently there is no CPack support for the client. This means you will not be able to run "cpack -G DEB" and get a debian or rpm package to install and that you have to do make install instead.
NOTE: If you are building the server on 64-bit Linux you should use -DWITH_STATIC=ON for now. Also add -DWITH_DRIVER_OPENGL=OFF and -DWITH_DRIVER_OPENAL=OFF to avoid build errors.
Installing¶
According to your system you have several options.
NOTE: You can just run Ryzom Core from the source directory after it's finished building.
Debian/Ubuntu (and others using deb packages)¶
Create a deb package using
cpack -G DEB -D CPACK_PACKAGE_CONTACT="your@mail.address"
(replace the email by your own) and install it on your system.
Fedora (and rpm based distributions)¶
Create a RPM package using
cpack -G RPM -D CPACK_PACKAGE_CONTACT="your@mail.address"
(replace the email by your own) and install it on your system.
Others (incl. Gentoo)¶
Install the NeL library with
make install
Run the Ryzom Client¶
This section explains how to run the client and connect the open shard.
- Download the Windows client https://docs.google.com/leaf?id=0B3LX3q7MsUEGN2UwMGY3MjAtYzlmZS00Yjg4LTljYTgtNDA3MmFiNWQ1Nzg5.
- Extract it and start the binary from the root of the windows client directory, you might want to create a link:
ln -s /path/to/code/ryzom/build/bin/ryzom_client /path/to/windows/client/dir/ryzom_core_linux
The client will connect to the Open shard by default. Use the instructions of the OpenShard page to create an account on that shard.
Server Chain Crashing¶
If you happen to find the server constantly crashing and restarting, and in the admin panel it states that several of the processes are "*Chain Crashing*", a found fix is to cmake with the additional flags of -DWITH_STATIC=ON and -DWITH_STATIC_DRIVERS=ON. These two flags were suggested by Kristaba as they corrected the issue.
This may not be an issue if following : http://dev.ryzom.com/wiki/ryzom/BuildForLinux : as it is using make, and it uses buildmode static. This needs to be researched however to make sure.
CMake Options:
http://dev.ryzom.com/wiki/ryzom/CMakeOptions

