Building Ryzom Client On Archlinux

From Ryzom Forge Wiki

Revision as of 01:26, 9 November 2016 by Glorf (talk | contribs) (Fixed link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

General

This page applies for Archlinux. To compile Ryzom client under Mac OS X, please check this page : Building Ryzom Client On Mac OS X. For Debian-based GNU/Linux distributions, check Building Ryzom Client On Debian.

This tutorial will only cover a dynamically linked build of the client ; if you want to build a static version, I highly recommend doing this on a debian stable, as Archlinux rolling release model and uptodate libc6 makes it a very bad choice for a static version usable by everyone.

Lines starting with a $ are meant to be run as a regular user (with sudo rights)

Getting ryzom Dependencies

First, let's make sure everything is up to date :

$ sudo pacman -Syu

Make sure we have everything needed to build an executable :

$ sudo pacman -S --needed base-devel

Let's get the dependencies available in arch official repo : (NOTE : i'm using lua52 here, if you want to use lua51/lua53 you can, but you'll need to change the luabind repo URL later)

$ sudo pacman -S mercurial autoconf automake cmake libtool bison freetype2 curl libx11 libxxf86vm openal libvorbis libogg libxml2 libpng libjpeg lua52

Compiling luabind

Unfortunately, luabind isn't available in arch official repo, so we'll need to build it ourself. First, download luabind's dependency we can find in the official repo :

$ sudo pacman -S git unzip

Then, we need to build boost-build, a luabind dependency (not in official repo either) :

$ git clone https://aur.archlinux.org/boost-build.git
$ cd boost-build
$ makepkg -si

Finally, we can build luabind : (Note : if you downloaded lua51 or lua53 earlier, change the repo URL here by lua51/lua53bind.git)

$ cd ~
$ git clone https://aur.archlinux.org/lua52bind.git
$ cd lua52bind
$ makepkg -si

Getting ryzom code

$ cd ~
$ hg clone https://bitbucket.org/ryzom/ryzomcore
$ cd ryzomcore
$ hg update -c compatibility-develop

If you need to update the code later, just type :

$ hg pull && hg update

Building ryzom code

(Assuming you are in the ryzomcore folder you got in #Getting ryzom code)

$ mkdir build && cd build
$ cmake -DWITH_RYZOM_CLIENT=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_DRIVER_OPENGL=ON -DWITH_QT=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_SNOWBALLS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_PATCH=ON ../code
  1. replace -n with number of proc
$ make -j4 ryzom_client

Play ryzom

Copy the bin/ryzom_client executable in your ryzom folder (if you are using ryzom installer, it's in ~/.local/share/Ryzom/ryzom_live/). I recommend changing the file name to ryzom_client_compiled or something, or it will replace itself with a patched version everytime you run it (assuming you didn't disabled the patch at compilation), and change the executable your profile use (or directly change the value "client_filename_linux" in your server configuration, in ryzom_installer.ini)

That's it !