• 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!

How to compile OTCv8 on Linux (Ubuntu)

Gesior.pl

Mega Noob&LOL 2012
Senator
Joined
Sep 18, 2007
Messages
2,964
Solutions
99
Reaction score
3,374
Location
Poland
GitHub
gesior
I'm not sure, if list of 'build tools' includes all required tools, as I compiled in on system with all TFS/canary libraries.

Tested on Ubuntu 22.04. Based on otcv8-dev/.github/workflows/ci-cd.yml at master · OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev/blob/master/.github/workflows/ci-cd.yml)

Install build tools:
Code:
sudo apt install git cmake ninja-build g++

Install vcpkg, checkout required commit version, install C++ libraries:
Code:
git clone [email protected]:microsoft/vcpkg.git vcpkg_otcv8
cd vcpkg_otcv8
git checkout 761c81d43335a5d5ccc2ec8ad90bd7e2cbba734e
./bootstrap-vcpkg.sh
./vcpkg install boost-iostreams boost-asio boost-system boost-variant boost-lockfree boost-beast glew boost-filesystem boost-uuid libogg libvorbis zlib opengl libzip openal-soft bzip2 boost-process openssl physfs

Download OTCv8:

Build using ninja. In OTCv8 folder (I've installed vcpkg in /home/jskalski/p/prv/ots/vcpkg_otcv8, replace path to vcpkg to your path):
Code:
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE=/home/jskalski/p/prv/ots/vcpkg_otcv8/scripts/buildsystems/vcpkg.cmake ..
ninja -j 4
Move compiled otclient to main OTC folder:
Code:
mv otclient ../otclient
 
Last edited:
I'm not sure, if list of 'build tools' includes all required tools, as I compiled in on system with all TFS/canary libraries.

Tested on Ubuntu 22.04. Based on otcv8-dev/.github/workflows/ci-cd.yml at master · OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev/blob/master/.github/workflows/ci-cd.yml)

Install build tools:
Code:
sudo apt install git cmake ninja-build g++

Install vcpkg, checkout required commit version, install C++ libraries:
Code:
git clone [email protected]:microsoft/vcpkg.git vcpkg_otcv8
cd vcpkg_otcv8
git checkout 761c81d43335a5d5ccc2ec8ad90bd7e2cbba734e
./bootstrap-vcpkg.sh
./vcpkg install boost-iostreams boost-asio boost-system boost-variant boost-lockfree boost-beast glew boost-filesystem boost-uuid libogg libvorbis zlib opengl libzip openal-soft bzip2 boost-process openssl physfs

Download OTCv8:

Build using ninja. In OTCv8 folder (I've installed vcpkg in /home/jskalski/p/prv/ots/vcpkg_otcv8, replace path to vcpkg to your path):
Code:
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE=/home/jskalski/p/prv/ots/vcpkg_otcv8/scripts/buildsystems/vcpkg.cmake ..
ninja -j 4
Move compiled otclient to main OTC folder:
Code:
mv otclient ../otclient
Thanks! :)
 
I compiled it but otclient crashes, I don't know why
Post automatically merged:

i check ubuntu 22.04 and mint.
== application crashed
app name: OTCv8
app version: 3.2
build compiler: gcc 11.4.0
build date: Sep 17 2023
build type: Release
build revision: (null) (devel)
crash date: Sep 17 2023 11:36:22
at rip = 0x9ca8bc
rax = 0x7f73e8175e90
rbx = 0x13401a0
rcx = 0x1
rdx = 0x7f741f2b05ea
rsi = 0x7f73e80008e0
rdi = 0x7f73f6ffde90
rbp = 0x7f73f6ffdfa0
rsp = 0x7f73f6ffde00
efl = 0x10202

backtrace:
1: /home/lex/Desktop/all/otcv8/otclient(UIManager::eek:nWidgetDestroy(stdext::shared_object_ptr<UIWidget> const&)+0x1fc) [0x9ca8bc]
2: /home/lex/Desktop/all/otcv8/otclient(UIWidget::internalDestroy()+0x3c5) [0x9e0935]
3: /home/lex/Desktop/all/otcv8/otclient(UIWidget::internalDestroy()+0x264) [0x9e07d4]
4: /home/lex/Desktop/all/otcv8/otclient(UIWidget::internalDestroy()+0x264) [0x9e07d4]
5: /home/lex/Desktop/all/otcv8/otclient(UIWidget::destroy()+0xfa) [0x9e4d4a]
6: /home/lex/Desktop/all/otcv8/otclient(std::_Function_handler<int (LuaInterface*), luabinder::bind_fun_specializer<void, std::function<void (stdext::shared_object_ptr<UIWidget> const&)>, std::tuple<stdext::shared_object_ptr<UIWidget> > >(std::function<void (stdext::shared_object_ptr<UIWidget> const&)> const&)::{lambda(LuaInterface*)#1}>::_M_invoke(std::_Any_data const&, LuaInterface*&&)+0x89) [0x9244e3]
7: /home/lex/Desktop/all/otcv8/otclient(LuaInterface::luaCppFunctionCallback(lua_State*)+0x61) [0x98c1d1]
8: /home/lex/Desktop/all/otcv8/otclient() [0xd4c507]
9: /home/elx/Desktop/all/otcv8/otclient(lua_pcall+0x63) [0xd3f333]
10: /home/lex/Desktop/all/otcv8/otclient(LuaInterface::safeCall(int, int, std::shared_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)+0x73) [0x98a383]
11: /home/lex/Desktop/all/otcv8/otclient(LuaInterface::signalCall(int, int)+0x281) [0x98acd1]
12: /home/lex/Desktop/all/otcv8/otclient(int LuaObject::luaCallLuaField<TPoint<int>, Fw::MouseButton>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, TPoint<int> const&, Fw::MouseButton const&)+0x2cf) [0x9ea88f]
13: /home/lex/Desktop/all/otcv8/otclient(UIWidget::eek:nMousePress(TPoint<int> const&, Fw::MouseButton)+0x110) [0x9e25a0]
14: /home/lex/Desktop/all/otcv8/otclient(UIManager::inputEvent(InputEvent const&)+0xcd6) [0x9cdbb6]
15: /home/lex/Desktop/all/otcv8/otclient(GraphicalApplication::inputEvent(InputEvent)+0x1b) [0x96712b]
16: /home/lex/Desktop/all/otcv8/otclient(std::_Function_handler<void (InputEvent const&), std::_Bind<void (GraphicalApplication::(GraphicalApplication, std::_Placeholder<1>))(InputEvent)> >::_M_invoke(std::_Any_data const&, InputEvent const&)+0xa4) [0x96cf04]
17: /home/lex/Desktop/all/otcv8/otclient(Event::execute()+0x61) [0x962811]
18: /home/lex/Desktop/all/otcv8/otclient(EventDispatcher::poll()+0x5c2) [0x9637c2]
19: /home/lex/Desktop/all/otcv8/otclient(Application::poll()+0x19) [0x955a69]
20: /home/lex/Desktop/all/otcv8/otclient() [0x969057]
21: /home/lex/Desktop/all/otcv8/otclient() [0x1037974]
22: /lib/x86_64-linux-gnu/libc.so.6(+0x94b43) [0x7f743d78eb43]
23: /lib/x86_64-linux-gnu/libc.so.6(+0x126a00) [0x7f743d820a00]
 
Last edited:
I compiled it but otclient crashes, I don't know why
Post automatically merged:

i check ubuntu 22.04 and mint.
I have the same issue in Ubuntu 22.04, the exact crash log when compiling under Linux.
 
I compiled everything, but now trying to start it the error log says, "FATAL ERROR: GLX not supported", any ideas?
 
Back
Top