« Previous - Version 37/84 (diff) - Next » - Current version
kervala, 05/11/2010 02:28 pm
Client compilation added


Building Ryzom Core on GNU/Linux

(tested on Ubuntu 9.10 x86, g++ 4.4.1)

  • The ryzom build scripts log to $HOME/log, so make sure that directory exists:
mkdir $HOME/log
  • Add the Ryzom scripts path in your PATH variable by adding the following line in your .bashrc (change the path with your own path):
PATH=$PATH:/home/nevrax/code/ryzom/tools/scripts/linux
  • Install the following packages:
apt-get install libxml2-dev g++ libtool automake autoconf libpng12-dev libjpeg62-dev rrdtool libmysqlclient15-dev bison
  • You may also need to fix autogen.sh to recognize ACLOCAL and LIBTOOLIZE environment variables:
cd /home/nevrax
cp code/nel/autogen.sh code/nelns/autogen.sh
cp code/nel/autogen.sh code/snowballs2/autogen.sh
  • Run the following command:
buildmode static
  • Update the SRC_DIR variable in the code/ryzom/tools/scripts/linux/build script (line 52)
  • Update the RYZOM_PATH variable in the code/ryzom/tools/scripts/linux/make_all script (third line).
  • Update the RYZOM_PATH, NEL_INCLUDE, and PACK_SHEET_FLAGS variables in the code/ryzom/Variables.mk file. Add -m32 to the FLAGS_CMN variable if you are compiling on a 64-bit machine.
    • IMPORTANT - Make sure the PACK_SHEET_FLAGS has full path names set for the flag options.
  • Fix the two -I$(HOME) lines (around line 14) to look like the following, in the files: code/ryzom/common/src/game_share/Makefile ; code/ryzom/server/src/server_share/Makefile
  -I$(NEL_INCLUDE) \
  -I$(RYZOM_PATH)/common/src \
  • Ubuntu Users, you may need to change your default shell by running the below and selecting "No" at the menu.
sudo dpkg-reconfigure dash
  • Run the following script that will compile NeL and Ryzom Core Services. It's a very slow process because it compiles lot of things. You can follow the process and see errors in ~/log/
make_all

new build, simplified WORK IN PROGRESS, TO FOLLOW IT.

Building Ryzom Core on GNU/Linux

Building the server with "make_all/build" system

  • Install the following packages:
apt-get install libxml2-dev g++ libtool automake autoconf libpng12-dev libjpeg62-dev rrdtool libmysqlclient15-dev bison
  • Tell where the Ryzom directory is:
export RYZOM_PATH="/home/user/code/ryzom" 
  • Run the following command:
$RYZOM_PATH/tools/scripts/linux/buildmode static

Be sure it's "ON" on the "Static linking" line.

  • Launch the server build
$RYZOM_PATH/tools/scripts/linux/make_all
  • Update the SRC_DIR variable in the code/ryzom/tools/scripts/linux/build script (line 52)
  • Update the RYZOM_PATH variable in the code/ryzom/tools/scripts/linux/make_all script (third line).
  • Update the RYZOM_PATH, NEL_INCLUDE, and PACK_SHEET_FLAGS variables in the code/ryzom/Variables.mk file. Add -m32 to the FLAGS_CMN variable if you are compiling on a 64-bit machine.
    • IMPORTANT - Make sure the PACK_SHEET_FLAGS has full path names set for the flag options.
  • Fix the two -I$(HOME) lines (around line 14) to look like the following, in the files: code/ryzom/common/src/game_share/Makefile ; code/ryzom/server/src/server_share/Makefile
  -I$(NEL_INCLUDE) \
  -I$(RYZOM_PATH)/common/src \
  • Ubuntu Users, you may need to change your default shell by running the below and selecting "No" at the menu.
sudo dpkg-reconfigure dash
  • Run the following script that will compile NeL and Ryzom Core Services. It's a very slow process because it compiles lot of things. You can follow the process and see errors in ~/log/
make_all

Building Ryzom Core client on GNU/Linux

First, compile and install NeL using autoconf/automake :

cd code/nel
./autogen.sh
./configure
make
sudo make install

You can put some parameters for configure such --prefix=/usr if you want install it to /usr (for a list of all parameters use ./configure --help).

Once NeL is compiled and installed in both static and shared, you can compile the client using static NeL libs.

cd code/ryzom
make update
make

You should have a binary file "client" in code/ryzom/client/src which has to be copied in the same folder as client.cfg and other client datas.