Most of the dependencies are available in the distribution system.
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 autoconf automake
Debian is the same as with Ubuntu, if you add the Karmic archive:
Karmic is no longer available, you will need to build libwww-dev
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)
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
On Ubuntu Lucid and Debian Squeeze, 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.
Download the package from http://hg.kervala.net/packaging/file/, uncompress it and:
cd luabind mkdir build cd build cmake .. make sudo make install
In Ubuntu lucid this package doesn't seem to exist. As Karmic support has been discontinued, you will need to build it.
In Debian stable even the dependencies are now unavailable, so you will have to download the archive .debs
Download the package from http://hg.kervala.net/packaging/file/, uncompress it and:
cd libwww ./autogen.sh ./configure --with-ssl=no --with-zlib --with-expat --with-gnu-ld --enable-shared make sudo make install
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
You can compile yourself with.
Download the package from http://hg.kervala.net/packaging/file/, uncompress it and:
cd squish mkdir build cd build cmake .. make sudo make install
You can compile yourself with.
Download the package from http://hg.kervala.net/packaging/file/, uncompress it and:
cd cpptest sh ./autogen.sh ./configure make sudo make install
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"
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:
If you want to build NeL without sound libs, for example when you only need the server:
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.
If you are building the server on 64-bit Linux you must build with the following CMake options:
If you encounter build errors, try turning the drivers off:
|
Sample server-only cmake on 64-bit Linux
mkdir $RYHOME/build && cd $RYHOME/build ryzom/code/build$ cmake -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_NEL=ON \ -DWITH_SOUND=OFF -DWITH_STATIC=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF .. make -j2 # j2 will take advantage of 2 cpus not as well as j3, but each thread uses ~300MB memory
According to your system you have several options.
NOTE: You can just run Ryzom Core from the source directory after it's finished building.
See Configure Linux Server for more details on post compilation configuration.
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.
You'll need to copy the drivers for opengl and openal in your /usr/lib by hand.
$ sudo cp lib/libnel_drv_opengl.so lib/libnel_drv_openal.so /usr/lib
The new binaries are in the bin folder. If you're in the process of updading your client for the Ryzom game, you should copy /bin/ryzom_client over your previous intallation.
For the Ryzom game, you'll also probably need to update some datas using this file: ftp://ftp.ryzom.com/ryzom_datas.7z
Unpack them in the folder "data" of your previous intallation.
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.
Install the NeL library with
make install
This section explains how to run the client and connect the open shard.
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 Open Shard page to create an account on that shard.
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.
See CMake Options for additional configuration options.