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

Compiling TFS 1.5 8.6 on UBUNTU problem

Dran Ryszard

Member
Joined
Apr 25, 2023
Messages
81
Reaction score
18
Location
Poland
Hi, i use a TFS 1.5 downgraded 8.6 with modal/mount.
When i compiling that files on windows i don't get any error/problem, all be fine.
But today i was buyed VPS for test and i tried compile a TFS on VPS with UBUNTU 24.04 system and i get that errors:
Any ideas/Someone can help me?

LUA:
[  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/otpch.cpp.o
[  5%] Building CXX object CMakeFiles/tfs.dir/src/actions.cpp.o
[  6%] Building CXX object CMakeFiles/tfs.dir/src/ban.cpp.o
[  7%] 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
[ 11%] 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
[ 17%] 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
[ 21%] Building CXX object CMakeFiles/tfs.dir/src/cylinder.cpp.o
[ 22%] Building CXX object CMakeFiles/tfs.dir/src/database.cpp.o
[ 23%] Building CXX object CMakeFiles/tfs.dir/src/databasemanager.cpp.o
[ 25%] Building CXX object CMakeFiles/tfs.dir/src/databasetasks.cpp.o
[ 26%] Building CXX object CMakeFiles/tfs.dir/src/depotchest.cpp.o
[ 27%] Building CXX object CMakeFiles/tfs.dir/src/depotlocker.cpp.o
[ 28%] Building CXX object CMakeFiles/tfs.dir/src/events.cpp.o
[ 30%] Building CXX object CMakeFiles/tfs.dir/src/fileloader.cpp.o
[ 31%] Building CXX object CMakeFiles/tfs.dir/src/game.cpp.o
[ 32%] Building CXX object CMakeFiles/tfs.dir/src/globalevent.cpp.o
[ 34%] Building CXX object CMakeFiles/tfs.dir/src/guild.cpp.o
[ 35%] Building CXX object CMakeFiles/tfs.dir/src/groups.cpp.o
[ 36%] Building CXX object CMakeFiles/tfs.dir/src/house.cpp.o
[ 38%] Building CXX object CMakeFiles/tfs.dir/src/housetile.cpp.o
[ 39%] Building CXX object CMakeFiles/tfs.dir/src/ioguild.cpp.o
[ 40%] Building CXX object CMakeFiles/tfs.dir/src/iologindata.cpp.o
[ 42%] Building CXX object CMakeFiles/tfs.dir/src/iomap.cpp.o
[ 43%] Building CXX object CMakeFiles/tfs.dir/src/iomapserialize.cpp.o
[ 44%] Building CXX object CMakeFiles/tfs.dir/src/item.cpp.o
[ 46%] Building CXX object CMakeFiles/tfs.dir/src/items.cpp.o
[ 47%] Building CXX object CMakeFiles/tfs.dir/src/luascript.cpp.o
[ 48%] Building CXX object CMakeFiles/tfs.dir/src/mailbox.cpp.o
[ 50%] Building CXX object CMakeFiles/tfs.dir/src/map.cpp.o
[ 51%] Building CXX object CMakeFiles/tfs.dir/src/monster.cpp.o
[ 52%] Building CXX object CMakeFiles/tfs.dir/src/monsters.cpp.o
[ 53%] 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
[ 63%] Building CXX object CMakeFiles/tfs.dir/src/player.cpp.o
[ 64%] Building CXX object CMakeFiles/tfs.dir/src/position.cpp.o
[ 65%] Building CXX object CMakeFiles/tfs.dir/src/protocol.cpp.o
[ 67%] Building CXX object CMakeFiles/tfs.dir/src/protocolgame.cpp.o
[ 68%] Building CXX object CMakeFiles/tfs.dir/src/protocollogin.cpp.o
[ 69%] Building CXX object CMakeFiles/tfs.dir/src/protocolold.cpp.o
[ 71%] Building CXX object CMakeFiles/tfs.dir/src/protocolstatus.cpp.o
[ 72%] Building CXX object CMakeFiles/tfs.dir/src/quests.cpp.o
[ 73%] Building CXX object CMakeFiles/tfs.dir/src/raids.cpp.o
[ 75%] Building CXX object CMakeFiles/tfs.dir/src/rsa.cpp.o
[ 76%] Building CXX object CMakeFiles/tfs.dir/src/scheduler.cpp.o
[ 77%] Building CXX object CMakeFiles/tfs.dir/src/scriptmanager.cpp.o
[ 78%] Building CXX object CMakeFiles/tfs.dir/src/script.cpp.o
[ 80%] Building CXX object CMakeFiles/tfs.dir/src/server.cpp.o
[ 81%] Building CXX object CMakeFiles/tfs.dir/src/signals.cpp.o
[ 82%] Building CXX object CMakeFiles/tfs.dir/src/spawn.cpp.o
[ 84%] Building CXX object CMakeFiles/tfs.dir/src/spells.cpp.o
[ 85%] Building CXX object CMakeFiles/tfs.dir/src/talkaction.cpp.o
[ 86%] Building CXX object CMakeFiles/tfs.dir/src/tasks.cpp.o
[ 88%] 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
[ 92%] Building CXX object CMakeFiles/tfs.dir/src/tools.cpp.o
[ 93%] Building CXX object CMakeFiles/tfs.dir/src/trashholder.cpp.o
[ 94%] Building CXX object CMakeFiles/tfs.dir/src/vocation.cpp.o
[ 96%] Building CXX object CMakeFiles/tfs.dir/src/weapons.cpp.o
[ 97%] Building CXX object CMakeFiles/tfs.dir/src/wildcardtree.cpp.o
[ 98%] Building CXX object CMakeFiles/tfs.dir/src/xtea.cpp.o
[100%] Linking CXX executable tfs
lto-wrapper: warning: using serial compilation of 5 LTRANS jobs
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Game::setGameState(GameState_t)':
<artificial>:(.text+0x863ca): undefined reference to `Mounts::loadFromXml()'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Game::playerChangeOutfit(unsigned int, Outfit_t)':
<artificial>:(.text+0x94a50): undefined reference to `Mounts::getMountByClientID(unsigned short)'
/usr/bin/ld: <artificial>:(.text+0x94ab1): undefined reference to `Mounts::getMountByID(unsigned char)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Game::reload(ReloadTypes_t)':
<artificial>:(.text+0xa0909): undefined reference to `Mounts::reload()'
/usr/bin/ld: <artificial>:(.text+0xa0ce8): undefined reference to `Mounts::reload()'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `LuaScriptInterface::luaPlayerAddMount(lua_State*)':
<artificial>:(.text+0x1b0ce5): undefined reference to `Mounts::getMountByName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `LuaScriptInterface::luaPlayerRemoveMount(lua_State*)':
<artificial>:(.text+0x1b0e27): undefined reference to `Mounts::getMountByName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `LuaScriptInterface::luaPlayerHasMount(lua_State*)':
<artificial>:(.text+0x1b0f52): undefined reference to `Mounts::getMountByID(unsigned char)'
/usr/bin/ld: <artificial>:(.text+0x1b0f86): undefined reference to `Mounts::getMountByName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Player::onCreatureAppear(Creature*, bool)':
<artificial>:(.text+0x247d49): undefined reference to `Mounts::getMountByClientID(unsigned short)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Player::toggleMount(bool)':
<artificial>:(.text+0x252872): undefined reference to `Mounts::getMountByID(unsigned char)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Player::tameMount(unsigned char)':
<artificial>:(.text+0x252a23): undefined reference to `Mounts::getMountByID(unsigned char)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Player::untameMount(unsigned char)':
<artificial>:(.text+0x252b6f): undefined reference to `Mounts::getMountByID(unsigned char)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `Player::dismount()':
<artificial>:(.text+0x252e0e): undefined reference to `Mounts::getMountByID(unsigned char)'
/usr/bin/ld: /tmp/ccBbjkVn.ltrans4.ltrans.o: in function `ProtocolGame::sendOutfitWindow()':
<artificial>:(.text+0x26fb3c): undefined reference to `Mounts::getMountByID(unsigned char)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/tfs.dir/build.make:1421: tfs] Error 1
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/tfs.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
root@vmi2548147:~/forgottenserver/build#
 
Solution
Hi, i use a TFS 1.5 downgraded 8.6 with modal/mount.
When i compiling that files on windows i don't get any error/problem, all be fine.
Which engine? Can you post link to it's github?
Windows uses vc17/theforgottenserver.vcxproj (Visual Studio project), Linux uses CMakeLists.txt (cmake project) and src/CMakeLists.txt to compile OTS ex.:

Your problem is that src/CMakeLists.txt probably does not list mounts.cpp and/or mounts.h, so it cannot compile on Linux.
Some...
Hi, i use a TFS 1.5 downgraded 8.6 with modal/mount.
When i compiling that files on windows i don't get any error/problem, all be fine.
Which engine? Can you post link to it's github?
Windows uses vc17/theforgottenserver.vcxproj (Visual Studio project), Linux uses CMakeLists.txt (cmake project) and src/CMakeLists.txt to compile OTS ex.:

Your problem is that src/CMakeLists.txt probably does not list mounts.cpp and/or mounts.h, so it cannot compile on Linux.
Some other files expect mounts.cpp/mounts.h to be compiled, but it's not:
Code:
[ 53%] Building CXX object CMakeFiles/tfs.dir/src/movement.cpp.o
-- SHOULD BE HERE
[ 55%] Building CXX object CMakeFiles/tfs.dir/src/networkmessage.cpp.o
There is no mounts.cpp on your list of compiled source files, so it fails on final 'linker' stage, where it combines all .cpp files together, because it cannot find months.cpp code.
 
Solution
Back
Top