• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Linux Compile OTCLIENT - Debian 9

fyalhed

Member
Joined
Nov 18, 2017
Messages
156
Reaction score
20
I trying to compile OTCLIENT following @Senzubean tutorial ([Debian]Installing library to compile OTClient - failed):
Code:
apt-get install build-essential cmake git-core liblua5.1-0-dev libvorbis-dev libopenal-dev libphysfs-dev libz3-dev freeglut3-dev libc6-dev-i386 doxygen libncurses5-dev mercurial libboost-all-dev libglew-dev
apt-get install libssl1.0-dev zlib1g-dev

wget https://icculus.org/physfs/downloads/physfs-2.0.3.tar.bz2
tar -xjf physfs-2.0.3.tar.bz2
cd physfs-2.0.3/ && mkdir build && cd build && cmake .. && make
make install
cp /usr/local/lib/libphysfs.so.2.0.3 /usr/lib/x86_64-linux-gnu/

mkdir -p /usr/local/ssl/lib /usr/local/ssl/include
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.1t-1+deb8u6_amd64.deb
ar -x libssl-dev_1.0.1t-1+deb8u6_amd64.deb
tar xf data.tar.xz

cp usr/lib/x86_64-linux-gnu/libcrypto.so /usr/local/ssl/lib
cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0* /usr/local/ssl/lib


cmake -DCMAKE_BUILD_TYPE=Debug -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib/libcrypto.so.1.0.2 -DOPENSSL_LIBRARY=/usr/local/ssl/lib/libssl.so.1.0.2 -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DUSE_STATIC_LIBS=OFF ..
make



But when i try to compile i got this errors:
Code:
root@leo:/home/leo/Documents/wotc/build# cmake -DCMAKE_BUILD_TYPE=Debug -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib/libcrypto.so.1.0.2 -DOPENSSL_LIBRARY=/usr/local/ssl/lib/libssl.so.1.0.2 -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DUSE_STATIC_LIBS=OFF ..

-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_KNOWS_CXX11
-- Performing Test COMPILER_KNOWS_CXX11 - Success
-- Performing Test COMPILER_KNOWS_STDLIB
-- Performing Test COMPILER_KNOWS_STDLIB - Failed
-- Link to static libraries: OFF
-- Build type: Debug
-- Build commit: devel
-- Build revision: 0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.62.0
-- Found the following Boost libraries:
--   system
--   thread
--   filesystem
--   chrono
--   date_time
--   atomic
-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.1.so
-- LuaJIT: OFF
-- Found PHYSFS: /usr/local/lib/libphysfs.so
-- Found OPENSSL: /usr/local/ssl/lib/libssl.so.1.0.2;/usr/local/ssl/lib/libcrypto.so.1.0.2
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so
-- Debug information: ON
-- Crash handler: ON
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found GLEW: /usr/lib/x86_64-linux-gnu/libGLEW.so
-- OpenGL ES: OFF
-- Found OPENAL: /usr/lib/x86_64-linux-gnu/libopenal.so
-- Found VORBISFILE: /usr/lib/x86_64-linux-gnu/libvorbisfile.so
-- Found VORBIS: /usr/lib/x86_64-linux-gnu/libvorbis.so
-- Found OGG: /usr/lib/x86_64-linux-gnu/libogg.so
-- Bot protection: OFF
-- Use precompiled header: OFF
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    OPENSSL_ROOT_DIR


-- Build files have been written to: /home/leo/Documents/wotc/build
root@leo:/home/leo/Documents/wotc/build# make
Scanning dependencies of target otclient
[  0%] Building CXX object CMakeFiles/otclient.dir/src/framework/luafunctions.cpp.o
...
[ 98%] Building CXX object CMakeFiles/otclient.dir/src/client/uisprite.cpp.o
[ 99%] Building CXX object CMakeFiles/otclient.dir/src/main.cpp.o
make[2]: *** No rule to make target '/usr/local/ssl/lib/libssl.so.1.0.2', needed by 'otclient'.  Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otclient.dir/all' failed
make[1]: *** [CMakeFiles/otclient.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
root@leo:/home/leo/Documents/wotc/build#
 
Last edited:
Why don't you just run `apt install libssl1.0-dev`? I don't know what all those commands are for since you didn't link the guide in question.

But anyway, even then I ran into more issues. I'm just going to debootstrap a Jessie chroot and compile it there. Not worth the trouble compiling this in Jessie right now.

OTClient would be a lot better project if it was improved on more actively but instead all these OT makers like Medivia and ArchLight just take the code to themselves without giving any of their improvements back...
 
Why don't you just run `apt install libssl1.0-dev`? I don't know what all those commands are for since you didn't link the guide in question.

But anyway, even then I ran into more issues. I'm just going to debootstrap a Jessie chroot and compile it there. Not worth the trouble compiling this in Jessie right now.

OTClient would be a lot better project if it was improved on more actively but instead all these OT makers like Medivia and ArchLight just take the code to themselves without giving any of their improvements back...

apt install libssl1.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl1.0-dev is already the newest version (1.0.2l-2+deb9u1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

I'm sorry to do not link the guide... I've edited the first post...

Using
root@leo:/home/leo/Documents/wotc/build# cmake -DCMAKE_BUILD_TYPE=Debug -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib/libcrypto.so.1.0.2 -DOPENSSL_LIBRARY=/usr/local/ssl/lib/libssl.so.1.0.2 -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DUSE_STATIC_LIBS=OFF ..
Code:
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_KNOWS_CXX11
-- Performing Test COMPILER_KNOWS_CXX11 - Success
-- Performing Test COMPILER_KNOWS_STDLIB
-- Performing Test COMPILER_KNOWS_STDLIB - Failed
-- Link to static libraries: OFF
-- Build type: Debug
-- Build commit: devel
-- Build revision: 0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Boost version: 1.62.0
-- Found the following Boost libraries:
--   system
--   thread
--   filesystem
--   chrono
--   date_time
--   atomic
-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.1.so  
-- LuaJIT: OFF
-- Found PHYSFS: /usr/local/lib/libphysfs.so  
-- Found OPENSSL: /usr/local/ssl/lib/libssl.so.1.0.2;/usr/local/ssl/lib/libcrypto.so.1.0.2  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so  
-- Debug information: ON
-- Crash handler: ON
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so  
-- Found GLEW: /usr/lib/x86_64-linux-gnu/libGLEW.so  
-- OpenGL ES: OFF
-- Found OPENAL: /usr/lib/x86_64-linux-gnu/libopenal.so  
-- Found VORBISFILE: /usr/lib/x86_64-linux-gnu/libvorbisfile.so  
-- Found VORBIS: /usr/lib/x86_64-linux-gnu/libvorbis.so  
-- Found OGG: /usr/lib/x86_64-linux-gnu/libogg.so  
-- Bot protection: OFF
-- Use precompiled header: OFF
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    OPENSSL_ROOT_DIR


-- Build files have been written to: /home/leo/Documents/wotc/build
root@leo:/home/leo/Documents/wotc/build#
Stop here and not compile

Using make:
Code:
[ 99%] Building CXX object CMakeFiles/otclient.dir/src/main.cpp.o
make[2]: *** No rule to make target '/usr/local/ssl/lib/libssl.so.1.0.2', needed by 'otclient'.  Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otclient.dir/all' failed
make[1]: *** [CMakeFiles/otclient.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
 
You could pay attention and read the part when I said I was going to compile it in a Jessie chroot, I did and I have a working OTClient.


EDIT:
I'm going to post this here since I'm nice: https://www.dropbox.com/s/p50moopllohvzkc/otclient.tar.xz?dl=1
The only problem is that it required libGLEW 1.10 but I did fine with a `cd /usr/lib/x86-64-linux-gnu/ && sudo ln -s libGLEW.so.2.0 libGLEW.so.1.10` without any issues so far, I don't see any need to install Jessie's libGLEW but you could do that as well since the package name is versioned.
 
Last edited:
Back
Top