Dorion Mode

December 24, 2020

Eulora v0.1.2 client on JWRD Gentoo

Filed under: Eulora, JWRD — Robinson Dorion @ 23:45

Working down the path of playing the masterclass in economy, I managed to build the Eulora v1 client on Gentoo. Once I got the initial environment set up, I followed the Diana Coman's installation notes which provide the lists of dependencies, but in debianspeak. My first task was then to figure what those mean in terms of Gentoo, the results of which are presented in the table below. As you can see, the footnotes provide insight to the USE flags I used as well as any dependencies that were pulled in during the process.

Debian/Ubuntu 10 Gentoo
autoconf sys-devel/autoconf1
bison sys-devel/bison2
build-essential N/A3
curl net-misc/curl4
doxygen app-doc/doxygen5
flex sys-devel/flex6
ftjam dev-util/ftjam7
g++ Rolled in GCC build8
lib3ds-dev media-libs/lib3ds9
libasound-dev media-libs/alsa-lib10
libcairo-dev x11-libs/cairo11
libcairomm-1.0-dev dev-cpp/cairomm12
libcal3d-dev media-libs/cal3d13
libcppunit-dev dev-util/cppunit14
libfreetype6-dev media-libs/freetype15
libgl1-mesa-dev x11-libs/libGLw 16
libgtk2.0-dev x11-libs/gtk+-217
liblcms-dev media-libs/lcms18
libmng-dev media-libs/libmng19
libode-dev dev-games/ode20
libogg-dev media-libs/libogg21
libopenal-dev media-libs/openal22
libpng12-dev media-libs/libpng23
libspeex-dev media-libs/speex24
libtool sys-devel/libtool25
libvorbis-dev media-libs/libvorbis26
libwxbase2.8-dev x11-libs/wxGTK27
libwxgtk2.8-dev Included in x11-libs/wxGTK
libx11-dev x11-libs/libX128
libxaw7-dev x11-libs/libXaw29
libxext-dev x11-libs/libXext30
libxrender-dev x11-libs/libXrender31
libxxf86vm-dev x11-libs/libXxf86vm32
mesa-common-dev media-libs/mesa33
nvidia-cg-toolkit media-gfx/nvidia-cg-toolkit34
pkg-config dev-util/pkgconfig35
python-dev N/A, Ref
subversion dev-vcs/subversion36
swig dev-lang/swig37
zlib1g-dev sys-libs/zlib38

From there, I followed I followed her guide from step 3 nearly verbatim.

wget http://ossasepia.com/Eulora/sources/cal3d.tar.gz
wget http://ossasepia.com/Eulora/sources/cal3d.tar.gz.diana_coman.sig
gpg --verify cal3d.tar.gz.diana_coman.sig cal3d.tar.gz
wget http://ossasepia.com/Eulora/sources/cs_July24.tar.gz
wget http://ossasepia.com/Eulora/sources/cs_July24.tar.gz.diana_coman.sig
gpg --verify cal3d.tar.gz.diana_coman.sig cal3d.tar.gz
wget http://ossasepia.com/Eulora/sources/eulora-v0.1.2b.tar.gz
wget http://ossasepia.com/Eulora/sources/eulora-v0.1.2b.tar.gz.diana_coman.sig
gpg --verify eulora-v0.1.2b.tar.gz.diana_coman.sig eulora-v0.1.2b.tar.gz
tar -zxvf cal3d.tar.gz
tar -zxvf cs_July24.tar.gz
tar -zxvf eulora-v0.1.2b.tar.gz
cd cal3d ; autoreconf --install --force
./configure --prefix=$HOME/dev/cal3d
make
make install
export LD_LIBRARY_PATH=$HOME/dev/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
cd ../cs-forupload/
./configure --without-java --without-perl --without-python --without-3ds --with-cal3d=$HOME/dev/cal3d39

(as root)
ln -s /usr/bin/jam /usr/bin/ftjam
(as non-root)
time ftjam -aq libs plugins cs-config walktest40
cd EuloraV0.1.2/
export CRYSTAL=$HOME/dev/cs-forupload
./autogen.sh
./configure --with-cal3d=$HOME/dev/cal3d
ftjam -aq client
export LD_LIBRARY_PATH="$HOME/dev/cal3d/src/cal3d/.libs/:$HOME/dev/cs-forupload/:"$LD_LIBRARY_PATH
vim eu.sh41
chmod +x eu.sh
cd data/
vim servers.xml42
cd ..
./eu.sh

Et voila.

eulora-launched

  1. [ebuild R ] sys-devel/autoconf-2.69:2.5::gentoo USE="-emacs" 1187 KiB []
  2. [ebuild R ] sys-devel/bison-3.0.4-r1::gentoo USE="examples* -nls* -static {-test}" 0 KiB []
  3. Debianism afaiu []
  4. [ebuild R ] net-misc/curl-7.54.1::gentoo USE="ssl -adns -http2 -idn -ipv6 -kerberos -ldap -metalink -rtmp -samba -ssh -static-libs {-test} -threads" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -axtls -gnutls (-libressl) -mbedtls -nss (-winssl) []
  5. [ebuild N ] media-libs/jbig2dec-0.13-r4::gentoo USE="-png -static-libs {-test}" 0 KiB
    [ebuild N ] app-text/poppler-data-0.4.7::gentoo 0 KiB
    [ebuild N ] app-arch/cpio-2.12-r1::gentoo USE="-nls" 0 KiB
    [ebuild N ] media-libs/lcms-2.8-r1:2::gentoo USE="threads zlib -doc -jpeg -static-libs {-test} -tiff" ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] app-text/libpaper-1.1.24-r2::gentoo ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] app-arch/rpm2targz-9.0.0.5g::gentoo 0 KiB
    [ebuild N ] media-libs/openjpeg-2.1.1_p20160922:2/7::gentoo USE="-doc -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] media-fonts/urw-fonts-2.4.9::gentoo USE="X" 0 KiB
    [ebuild N ] app-text/ghostscript-gpl-9.21::gentoo USE="X -cups -dbus -gtk -static-libs -tiff -unicode" L10N="-de -ja -ko -zh-CN -zh-TW" 28488 KiB
    [ebuild N ] app-doc/doxygen-1.8.13-r1::gentoo USE="debug -clang -doc -dot -doxysearch -latex -qt5 (-sqlite)" 4784 KiB []
  6. [ebuild R ] sys-devel/flex-2.6.1::gentoo USE="-nls* -static {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB []
  7. [ebuild N ] dev-util/ftjam-2.5.3_rc2-r1::gentoo installed at /usr/bin/jam, I made ln -s /usr/bin/jam /usr/bin/ftjam []
  8. Some insight on g++

    Keruskerfuerst is right, the "bootstrap" and "build" USE flags should only be used while creating the stage1 and stage2 tarballs, which do not include C++ support. Rebuild gcc without these flags and you should be all set (anyways, do a revdep-rebuild after that for any possible libraries missing).

    [ebuild R ] sys-devel/gcc-4.9.4:4.9.4::gentoo USE="cxx debug* (multilib) nptl openmp sanitize vtv (-altivec) (-awt) -cilk -doc (-fixed-point) -fortran* -gcj -go -graphite (-hardened) (-libssp) -nls* -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" []

  9. [ebuild N ] media-libs/freeglut-3.0.0::gentoo USE="debug -static-libs" ABI_X86="(64) -32 (-x32)" 410 KiB
    [ebuild N ] media-libs/lib3ds-2.0.0_rc1::gentoo 418 KiB []
  10. [ebuild R ] media-libs/alsa-lib-1.1.2::gentoo USE="debug -alisp -doc -python" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 0 KiB []
  11. [ebuild R ] x11-libs/cairo-1.14.8::gentoo USE="X debug* glib opengl* svg (-aqua) (-directfb) (-gles2) -static-libs -valgrind -xcb" ABI_X86="(64) -32 (-x32)" 0 KiB []
  12. [ebuild N ] dev-libs/libsigc++-2.10.0:2::gentoo USE="-doc -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 3706 KiB
    [ebuild N ] dev-cpp/cairomm-1.12.0-r1::gentoo USE="X svg (-aqua) -doc" ABI_X86="(64) -32 (-x32)" 772 KiB []
  13. [ebuild N ] media-libs/cal3d-0.11.0-r1::gentoo USE="debug -16bit-indices -doc" 556 KiB []
  14. [ebuild N ] dev-util/cppunit-1.13.2-r2::gentoo USE="examples -doc -static-libs" ABI_X86="(64) -32 (-x32)" 932 KiB []
  15. [ebuild R ] media-libs/freetype-2.8:2::gentoo USE="X* adobe-cff bindist bzip2 cleartype_hinting debug* -doc -fontforge -harfbuzz -infinality -png -static-libs -utils" ABI_X86="(64) -32 (-x32)" 0 KiB []
  16. Hat tip on the ref

    By default, it pulled in the list below. Apparently motif is a gui thing that didn't look necessary.

    [ebuild N ] dev-util/byacc-20170201::gentoo 725 KiB
    [ebuild N ] x11-proto/printproto-1.0.5-r1::gentoo ABI_X86="(64) -32 (-x32)" 218 KiB
    [ebuild N ] x11-libs/libXp-1.0.3::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 310 KiB
    [ebuild N ] x11-libs/motif-2.3.6-r1::gentoo USE="examples motif22-compatibility -jpeg -png -static-libs -unicode -xft" ABI_X86="(64) -32 (-x32)" 5593 KiB
    [ebuild N ] x11-libs/libGLw-8.0.0::gentoo USE="motif -static-libs" 216 KiB

    I tried: `echo "x11-libs/libGLw -motif" >> /etc/portage/package.use/xorg-server` and re-emerging, but even with -motif it still tries to pull it in, so I re-enabled the default above and emerged.

    Still pulling everything in, remove the -motif and build default above
    [ebuild N ] dev-util/byacc-20170201::gentoo 725 KiB*
    [ebuild N ] x11-proto/printproto-1.0.5-r1::gentoo ABI_X86="(64) -32 (-x32)" 218 KiB
    [ebuild N ] x11-libs/libXp-1.0.3::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 310 KiB
    [ebuild N ] x11-libs/motif-2.3.6-r1::gentoo USE="examples motif22-compatibility -jpeg -png -static-libs -unicode -xft" ABI_X86="(64) -32 (-x32)" 5593 KiB**
    [ebuild N ] x11-libs/libGLw-8.0.0::gentoo USE="-motif -static-libs" 216 KiB

    * not on mirrors: wget https://invisible-mirror.net/archives/byacc/byacc-20170201.tgz
    ** not on mirrors : sourced from https://sourceforge.net/projects/motif/files/Motif%202.3.6%20Source%20Code/motif-2.3.6.tar.gz/download []

  17. [ebuild R ] x11-libs/gtk+-2.24.31-r1:2::gentoo USE="examples introspection xinerama (-aqua) -cups {-test} -vim-syntax" ABI_X86="(64) -32 (-x32)" 0 KiB

    Note:
    * Messages for package x11-libs/gtk+-2.24.31-r1:

    * Please install app-text/evince for print preview functionality.
    * Alternatively, check "gtk-print-preview-command" documentation and
    * add it to your gtkrc.

    I looked into it to see what it's about, and this evince thing requires gtk3, which requires dbus, which is masked. libjpeg-dev media-libs/jpeg (([ebuild N ] media-libs/jpeg-8d-r1::gentoo USE="static-libs" ABI_X86="(64) -32 (-x32)" 982 KiB []

  18. [ebuild R ] media-libs/lcms-2.8-r1:2::gentoo USE="threads zlib -doc -jpeg -static-libs {-test} -tiff" ABI_X86="(64) -32 (-x32)" 0 KiB []
  19. [ebuild N ] media-libs/libmng-2.0.2-r1:0/2::gentoo USE="lcms -static-libs" ABI_X86="(64) -32 (-x32)" 930 KiB []
  20. [ebuild N ] dev-games/ode-0.12::gentoo USE="debug examples -doc -double-precision -gyroscopic -static-libs" 1774 KiB []
  21. [ebuild R ] media-libs/libogg-1.3.2::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  22. [ebuild N ] media-libs/openal-1.15.1-r2::gentoo USE="alsa debug (-coreaudio) (-neon) -oss -portaudio -pulseaudio" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse" 248 KiB
    This one wasn't on the mirrors:

    wget https://openal-soft.org/openal-releases/openal-soft-1.15.1.tar.bz2

    []

  23. [ebuild R ] media-libs/libpng-1.6.27:0/16::gentoo USE="apng (-neon) -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  24. [ebuild N ] media-libs/speex-1.2_rc1-r2::gentoo USE="-ogg -static-libs" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse" 0 KiB []
  25. [ebuild R ] sys-devel/libtool-2.4.6-r3:2::gentoo USE="-vanilla" 951 KiB []
  26. [ebuild R ] media-libs/libvorbis-1.3.5::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  27. Ref1, Ref2
    [ebuild N ] app-eselect/eselect-wxwidgets-20140423::gentoo 7 KiB
    [ebuild R ] x11-libs/pango-1.40.5::gentoo USE="X* introspection {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] x11-libs/wxGTK-3.0.2.0-r2:3.0::gentoo USE="X debug (-aqua) -doc -gstreamer -libnotify -opengl -sdl -tiff -webkit" ABI_X86="(64) -32 (-x32)" 56939 KiB []
  28. [ebuild R ] x11-libs/libX11-1.6.5::gentoo USE="-doc -ipv6 -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB []
  29. Ref
    [ebuild R ] x11-libs/libXaw-1.0.13::gentoo USE="-deprecated -doc -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  30. Ref
    [ebuild R ] x11-libs/libXext-1.3.3::gentoo USE="-doc -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  31. [ebuild R ] x11-libs/libXrender-0.9.10::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  32. [ebuild R ] x11-libs/libXxf86vm-1.1.4::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  33. Ref
    [ebuild R ] media-libs/mesa-17.0.6::gentoo USE="bindist classic debug* dri3 egl gallium gbm llvm nptl -d3d9 -gles1 -gles2 -opencl -openmax -osmesa -pax_kernel -pic (-selinux) -vaapi -valgrind -vdpau -vulkan -wayland -xa -xvmc" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="r600 radeon (-freedreno) -i915 -i965 -imx -intel -nouveau -r100 -r200 -r300 -radeonsi (-vc4) (-vivante) -vmware" 0 KiB []
  34. [ebuild N ] media-gfx/nvidia-cg-toolkit-3.1.0013-r3::gentoo USE="examples -doc" ABI_X86="(64) -32" 24248 KiB []
  35. [ebuild R ] dev-util/pkgconfig-0.28-r2::gentoo USE="-hardened -internal-glib" ABI_X86="(64) -32 (-x32)" 0 KiB []
  36. [ebuild N ] dev-libs/apr-1.5.2:1::gentoo USE="urandom -doc -older-kernels-compatibility (-selinux) -static-libs" 808 KiB
    [ebuild N ] dev-util/scons-2.4.1::gentoo USE="-doc" PYTHON_TARGETS="python2_7 (-pypy)" 625 KiB
    [ebuild N ] dev-libs/apr-util-1.5.4:1::gentoo USE="berkdb gdbm -doc -freetds -ldap -mysql -nss -odbc -openssl -postgres -sqlite -static-libs" 679 KiB
    [ebuild N ] net-libs/serf-1.3.8:1::gentoo USE="-kerberos" 140 KiB
    [ebuild N ] dev-vcs/subversion-1.9.5::gentoo USE="berkdb debug dso http -apache2 -ctypes-python -doc -extras -gnome-keyring -java -kwallet -nls -perl -python -ruby -sasl {-test} -vim-syntax" PYTHON_TARGETS="python2_7" 7720 KiB

    None of which were on the Gentoo mirrors. I ended up sourcing from the respective links below:
    https://archive.apache.org/dist/apr/apr-1.5.2.tar.bz2
    https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.bz2
    https://archive.apache.org/dist/serf/serf-1.3.8.tar.bz2
    https://archive.apache.org/dist/subversion/subversion-1.9.5.tar.bz2 []

  37. [ebuild N ] dev-lang/swig-3.0.12::gentoo USE="pcre -ccache -doc" 7959 KiB []
  38. Ref
    [ebuild R ] sys-libs/zlib-1.2.11::gentoo USE="-minizip -static-libs" ABI_X86="(64) -32 (-x32)" 594 KiB []
  39. Which yielded

    ******************************************************************************
    *** Crystal Space -- Configuration Summary ***
    ******************************************************************************
    Build mode: optimize
    Version: 2.1 (SVN: no)

    Optional Dependencies
    ---------------------
    Found
    alsa (audio)
    cairo (image)
    cal3d (models)
    curl (other)
    freetype2 (other)
    gtk (other)
    jpeg (image)
    linux-joystick (other)
    mng (image)
    ode (physics)
    ogg (audio)
    openal (audio)
    opengl (rendering)
    oss (audio)
    png (image)
    speex (audio)
    vorbis (audio)
    x11 (rendering)
    zlib (other)

    Missing
    3ds (models)
    assimp (models)
    bullet (physics)
    cairomm (image)
    cegui (gui)
    cg (rendering)
    jackasyn (audio)
    java (bindings)
    lcms (image)
    perl (bindings)
    python (bindings)
    theoradec (image)
    vgvm (image)
    wxwidgets (gui) []

  40. Her notes say ~30 mins, my results can vouch :

    real 32m31.527s
    user 32m8.751s
    sys 0m52.268s

    []

  41. Into which I inserted :

    export LD_LIBRARY_PATH="$HOME/dev/cal3d/src/cal3d/.libs:$HOME/dev/cs-forupload/:"$LD_LIBRARY_PATH
    export CRYSTAL=$HOME/dev/cs-forupload
    ./euclient

    []

  42. To which I inserted :

    []

2 Comments »

  1. Thank you for those detailed notes! I'll add a link to this from Eulora's installation notes page.

    Comment by Diana Coman — December 25, 2020 @ 13:30

  2. [...] its constraints to improve the automation on the lbn gathering process and his returns. With the client I'm using, system logs were not enabled by default (chat, crafting, exploring, position and recipes [...]

    Pingback by Elvin Coaljob's Euloran Gatherings « Dorion Mode — April 30, 2021 @ 03:26

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress