Hello,
I have a data pack from this forum, trying to compile on Debian 11.
I followed this thread created by gesior:
Everything is going great, but at the very end of the compile i get this error with libmariadb:
I tried to re-run the command:
cd /home/vcpkg/ && ./vcpkg --triplet x64-linux install libmariadb
But got information that it is already installed:
Tried to remove -Werror and -pipe in the CMakeFile.txt, but it doesn't help with that.
Maybe this phrase needs to be edited: (in CMakeFile.txt)
Maybe someone have an idea how to link this libmariadb with this source files?
Thanks in advance for help
Have a great day!
I have a data pack from this forum, trying to compile on Debian 11.
I followed this thread created by gesior:
I prepared 3 Dockerfiles, to test, if these engines compile on given linux distributions.
Dockerfiles tested on 2021-08-24. You can comment otservbr / forgottenserver part to compile just one sources.
You can compile these engines on your VPS/dedic by executing every line that starts with 'RUN'.
UBUNTU 20.04
Dockerfiles tested on 2021-08-24. You can comment otservbr / forgottenserver part to compile just one sources.
You can compile these engines on your VPS/dedic by executing every line that starts with 'RUN'.
UBUNTU 20.04
Code:
FROM ubuntu:20.04
RUN apt-get update
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/London
RUN apt-get -y install tzdata
# 1: forgottenserver (TFS)
RUN apt-get -y install git cmake build-essential libluajit-5.1-dev zip ca-certificates pkg-config autoconf...
LUA:
# 2: otservbr-global
RUN apt-get install -y git cmake build-essential libluajit-5.1-dev wget zip ca-certificates curl zip unzip tar pkg-config yasm autoconf
RUN apt remove -y cmake
RUN cd /root/ && wget https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1.tar.gz
RUN cd /root/ && tar -zxvf cmake-3.21.1.tar.gz && cd cmake-3.21.1 && ./bootstrap -- -DCMAKE_USE_OPENSSL=OFF && make -j 16 && make install
RUN cd /home/ && git clone https://github.com/microsoft/vcpkg && cd vcpkg && ./bootstrap-vcpkg.sh
RUN cd /home/vcpkg/ && ./vcpkg --triplet x64-linux install boost-asio boost-filesystem boost-iostreams boost-lockfree boost-system boost-variant cryptopp curl jsoncpp libmariadb pugixml spdlog
RUN cd /home/ && git clone --depth 1 https://github.com/opentibiabr/otservbr-global.git && cd otservbr-global && git checkout develop
RUN cd /home/otservbr-global/ && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../../vcpkg/scripts/buildsystems/vcpkg.cmake ..
RUN cd /home/otservbr-global/build/ && make -j 16
Everything is going great, but at the very end of the compile i get this error with libmariadb:
Code:
root@core:/home/pc/rook/build# make -j 8
[ 1%] Checking the git repository for changes...
[ 1%] Built target check_git
[ 2%] Building CXX object CMakeFiles/tfs.dir/cmake_pch.hxx.gch
[ 3%] Building CXX object CMakeFiles/tfs.dir/src/auras.cpp.o
[ 4%] Building CXX object CMakeFiles/tfs.dir/src/ban.cpp.o
[ 6%] Building CXX object CMakeFiles/tfs.dir/src/otpch.cpp.o
[ 7%] Building CXX object CMakeFiles/tfs.dir/src/actions.cpp.o
[ 9%] Building CXX object CMakeFiles/tfs.dir/src/baseevents.cpp.o
[ 9%] Building CXX object CMakeFiles/tfs.dir/src/bed.cpp.o
[ 10%] Building CXX object CMakeFiles/tfs.dir/src/chat.cpp.o
[ 12%] Building CXX object CMakeFiles/tfs.dir/src/combat.cpp.o
[ 13%] Building CXX object CMakeFiles/tfs.dir/src/condition.cpp.o
[ 14%] Building CXX object CMakeFiles/tfs.dir/src/configmanager.cpp.o
[ 15%] Building CXX object CMakeFiles/tfs.dir/src/connection.cpp.o
[ 16%] Building CXX object CMakeFiles/tfs.dir/src/container.cpp.o
[ 18%] Building CXX object CMakeFiles/tfs.dir/src/creature.cpp.o
[ 19%] Building CXX object CMakeFiles/tfs.dir/src/creatureevent.cpp.o
[ 20%] Building CXX object CMakeFiles/tfs.dir/src/cylinder.cpp.o
[ 21%] Building CXX object CMakeFiles/tfs.dir/src/database.cpp.o
[ 22%] Building CXX object CMakeFiles/tfs.dir/src/databasemanager.cpp.o
[ 24%] Building CXX object CMakeFiles/tfs.dir/src/databasetasks.cpp.o
[ 25%] Building CXX object CMakeFiles/tfs.dir/src/depotchest.cpp.o
[ 26%] Building CXX object CMakeFiles/tfs.dir/src/depotlocker.cpp.o
[ 27%] Building CXX object CMakeFiles/tfs.dir/src/events.cpp.o
[ 28%] Building CXX object CMakeFiles/tfs.dir/src/fileloader.cpp.o
[ 30%] Building CXX object CMakeFiles/tfs.dir/src/game.cpp.o
[ 31%] Building CXX object CMakeFiles/tfs.dir/src/globalevent.cpp.o
[ 32%] Building CXX object CMakeFiles/tfs.dir/src/guild.cpp.o
[ 33%] Building CXX object CMakeFiles/tfs.dir/src/groups.cpp.o
[ 34%] Building CXX object CMakeFiles/tfs.dir/src/house.cpp.o
[ 36%] Building CXX object CMakeFiles/tfs.dir/src/housetile.cpp.o
[ 37%] Building CXX object CMakeFiles/tfs.dir/src/inbox.cpp.o
[ 38%] Building CXX object CMakeFiles/tfs.dir/src/ioguild.cpp.o
[ 39%] Building CXX object CMakeFiles/tfs.dir/src/iologindata.cpp.o
[ 40%] Building CXX object CMakeFiles/tfs.dir/src/iomap.cpp.o
[ 42%] Building CXX object CMakeFiles/tfs.dir/src/iomapserialize.cpp.o
[ 43%] Building CXX object CMakeFiles/tfs.dir/src/iomarket.cpp.o
[ 44%] Building CXX object CMakeFiles/tfs.dir/src/item.cpp.o
[ 45%] Building CXX object CMakeFiles/tfs.dir/src/items.cpp.o
[ 46%] Building CXX object CMakeFiles/tfs.dir/src/luascript.cpp.o
[ 48%] Building CXX object CMakeFiles/tfs.dir/src/mailbox.cpp.o
[ 49%] Building CXX object CMakeFiles/tfs.dir/src/map.cpp.o
[ 50%] Building CXX object CMakeFiles/tfs.dir/src/monster.cpp.o
[ 51%] Building CXX object CMakeFiles/tfs.dir/src/monsters.cpp.o
[ 53%] Building CXX object CMakeFiles/tfs.dir/src/mounts.cpp.o
[ 54%] Building CXX object CMakeFiles/tfs.dir/src/movement.cpp.o
[ 55%] Building CXX object CMakeFiles/tfs.dir/src/networkmessage.cpp.o
[ 56%] Building CXX object CMakeFiles/tfs.dir/src/npc.cpp.o
[ 57%] Building CXX object CMakeFiles/tfs.dir/src/otserv.cpp.o
[ 59%] Building CXX object CMakeFiles/tfs.dir/src/outfit.cpp.o
[ 60%] Building CXX object CMakeFiles/tfs.dir/src/outputmessage.cpp.o
[ 61%] Building CXX object CMakeFiles/tfs.dir/src/party.cpp.o
[ 62%] Building CXX object CMakeFiles/tfs.dir/src/player.cpp.o
[ 63%] Building CXX object CMakeFiles/tfs.dir/src/position.cpp.o
[ 65%] Building CXX object CMakeFiles/tfs.dir/src/protocol.cpp.o
[ 66%] Building CXX object CMakeFiles/tfs.dir/src/protocolgame.cpp.o
[ 67%] Building CXX object CMakeFiles/tfs.dir/src/protocollogin.cpp.o
[ 68%] Building CXX object CMakeFiles/tfs.dir/src/protocolold.cpp.o
[ 69%] Building CXX object CMakeFiles/tfs.dir/src/protocolstatus.cpp.o
[ 71%] Building CXX object CMakeFiles/tfs.dir/src/quests.cpp.o
[ 72%] Building CXX object CMakeFiles/tfs.dir/src/raids.cpp.o
[ 73%] Building CXX object CMakeFiles/tfs.dir/src/rsa.cpp.o
[ 74%] Building CXX object CMakeFiles/tfs.dir/src/scheduler.cpp.o
[ 75%] Building CXX object CMakeFiles/tfs.dir/src/shaders.cpp.o
[ 77%] Building CXX object CMakeFiles/tfs.dir/src/scriptmanager.cpp.o
[ 78%] Building CXX object CMakeFiles/tfs.dir/src/script.cpp.o
[ 79%] Building CXX object CMakeFiles/tfs.dir/src/server.cpp.o
[ 80%] Building CXX object CMakeFiles/tfs.dir/src/signals.cpp.o
[ 81%] Building CXX object CMakeFiles/tfs.dir/src/spawn.cpp.o
[ 83%] Building CXX object CMakeFiles/tfs.dir/src/spells.cpp.o
[ 84%] Building CXX object CMakeFiles/tfs.dir/src/storeinbox.cpp.o
[ 85%] Building CXX object CMakeFiles/tfs.dir/src/talkaction.cpp.o
[ 86%] Building CXX object CMakeFiles/tfs.dir/src/tasks.cpp.o
[ 87%] Building CXX object CMakeFiles/tfs.dir/src/teleport.cpp.o
[ 89%] Building CXX object CMakeFiles/tfs.dir/src/thing.cpp.o
[ 90%] Building CXX object CMakeFiles/tfs.dir/src/tile.cpp.o
[ 91%] Building CXX object CMakeFiles/tfs.dir/src/tools.cpp.o
[ 92%] Building CXX object CMakeFiles/tfs.dir/src/trashholder.cpp.o
[ 93%] Building CXX object CMakeFiles/tfs.dir/src/vocation.cpp.o
[ 95%] Building CXX object CMakeFiles/tfs.dir/src/weapons.cpp.o
[ 96%] Building CXX object CMakeFiles/tfs.dir/src/wildcardtree.cpp.o
[ 97%] Building CXX object CMakeFiles/tfs.dir/src/wings.cpp.o
[ 98%] Building CXX object CMakeFiles/tfs.dir/src/xtea.cpp.o
[100%] Linking CXX executable tfs
/usr/bin/ld: cannot find -llibmariadb
/usr/bin/ld: note to link with /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libmariadb.a use -l:libmariadb.a or rename it to liblibmariadb.a
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/tfs.dir/build.make:1555: tfs] Error 1
make[1]: *** [CMakeFiles/Makefile2:128: CMakeFiles/tfs.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
I tried to re-run the command:
cd /home/vcpkg/ && ./vcpkg --triplet x64-linux install libmariadb
But got information that it is already installed:
Code:
root@core:/home/pc/rook/build# cd /home/vcpkg/ && ./vcpkg --triplet x64-linux install libmariadb
Computing installation plan...
The following packages are already installed:
libmariadb[core,ssl,openssl]:[email protected]
libmariadb:x64-linux is already installed
Total install time: 453 us
libmariadb provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(unofficial-libmariadb CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial::libmariadb)
libmariadb provides pkg-config modules:
# MariaDB Connector/C dynamic library
libmariadb
root@core:/home/vcpkg#
Tried to remove -Werror and -pipe in the CMakeFile.txt, but it doesn't help with that.
Maybe this phrase needs to be edited: (in CMakeFile.txt)
LUA:
# Look for vcpkg-provided libmariadb first
# If we link to the file directly, we might miss its dependencies from vcpkg
find_package(unofficial-libmariadb CONFIG QUIET)
if (unofficial-libmariadb_FOUND)
set(MYSQL_CLIENT_LIBS "libmariadb")
else ()
find_package(MySQL REQUIRED)
endif ()
Maybe someone have an idea how to link this libmariadb with this source files?
Thanks in advance for help

Have a great day!