btcinfo  

Hic inserere motto

Building the Eulora client with Gentoo

January 11, 2019 — shinohai

Having gotten trinque's excellent Cuntoo bootstrap working on a few different machines, I decided I'd try building a Eulora client with it. This post is to document the steps I followed to get to a working state, as the instructions on the minigame website are outdated and contain dead links.

In this guide, I am using gcc 4.9.4 - I'm pretty sure this is a hard requirement. Crystalspace for whatever reason requires you have the nvidia-cg-toolkit installed even if you use an ATI card, so go ahead and get that via portage:

emerge -av nvidia-cg-toolkit

I have a ~/devel directory already from building trb, so I'll start there and make a eulora directory beside it:

mkdir -p eulora/ && cd $_

Grab cal3d, crystalspace, and the Eulora client files from the minigame site:

wget http://minigame.biz/eulora/source/cal3d.tar.gz
wget http://minigame.biz/eulora/source/cs_July24.tar.gz
curl http://minigame.biz/eulora/source/eulora-v0.1.2b.tar.gz > eulora-v0.1.2b.tar.gz

Untar that shit.

tar -zxvf cal3d.tar.gz
tar -zxvf cs_July24.tar.gz
tar -zxvf eulora-v0.1.2b.tar.gz

Navigate to cal3d/ and run the following commands to build:

autoreconf --install --force
./configure --prefix=$HOME/devel/eulora/cal3d
make
make install

Tell other programs where to find the cal3d things we just built:

export LD_LIBRARY_PATH=$HOME/devel/eulora/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH

Go back to ~/devel/eulora/ and enter the cs-forupload folder:

cd ../cs-forupload/

To build crystalspace I had to adjust the configure step to avoid anything bullet related, or the jam build step will barf. Use the following commands:

./configure \
--without-java \
--without-perl \
--without-python \
--without-3ds \
--without-bullet \
--with-cal3d=/$HOME/devel/eulora/cal3d

jam -aq libs plugins cs-config walktest

Export the crystalspace environment variable:

export CRYSTAL=$HOME/devel/eulora/cs-forupload

Finally, go back to ~/devel/eulora/ and enter the EuloraV0.1.2 folder ...

cd ../EuloraV0.1.2/

...and build the client:

./autogen.sh
./configure \
--with-cal3d=$HOME/devel/eulora/cal3d \
--with-cs-prefix=$CRYSTAL \
--without-mysqlclient \
--without-sqlite3 \
--without-pq \
--without-hunspell

jam -aq client

Eulora servers got a new home in 2018, so we must edit the server ip in data/servers.xml:

sed -i 's/50.115.127.84/161.0.121.201/' data/servers.xml

Now, to avoid having to manually enter the environment variables each time we want to play, we will create a shell script containing those and make it executable:

cat >eu.sh<<EOF
export LD_LIBRARY_PATH="$HOME/devel/eulora/cal3d/src/cal3d/ \
.libs:$HOME/devel/eulora/cs-forupload/:"$LD_LIBRARY_PATH
export CRYSTAL=$HOME/devel/eulora/cs-forupload
./euclient
EOF

chmod + eu.sh

./eu.sh

It was night in Eulora when I finished, so I only took a single screenshot of client startup. More to come as I test further.

May your journey be prosperous ....

Tags: News, Games, UNIX