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

TFS 1.X+ cannot find -llibmariadb while compiling tfs on debian11

Gover

Member
Joined
Sep 3, 2009
Messages
26
Reaction score
5
Hello,
I have a data pack from this forum, trying to compile on Debian 11.
I followed this thread created by gesior:

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!
 
Install the MariaDB library:

LUA:
sudo apt-get install libmariadb-dev
Modify the CMakeLists.txt or Makefile where you link the libraries:
Change -llibmariadb to -lmariadb
 
Back
Top