Compile error in Linux

Issue #17 resolved
S K created an issue

I have applied the patch (and checked the README to see if I was doing it correctly) to a fresh clone of TrinityCore (e60d26f36b) and I am receiving the following at compile: [ 12%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/PlayerBots/PlayerbotPaladinAI.cpp.o [ 12%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/PlayerBots/PlayerbotAI.cpp.o /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp: In constructor âPlayerbotAI::PlayerbotAI(Player, Player)â: /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:109:107: warning: format â%uâ expects argument of type âunsigned intâ, but argument 3 has type âuint64 {aka long unsigned int}â [-Wformat] /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:118:89: warning: format â%uâ expects argument of type âunsigned intâ, but argument 3 has type âuint64 {aka long unsigned int}â [-Wformat] /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:125:103: warning: format â%uâ expects argument of type âunsigned intâ, but argument 3 has type âuint64 {aka long unsigned int}â [-Wformat] /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:145:81: warning: format â%uâ expects argument of type âunsigned intâ, but argument 3 has type âuint64 {aka long unsigned int}â [-Wformat] /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp: In member function âvoid PlayerbotAI::GetCombatTarget(Unit)â: /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:2869:118: error: cannot pass objects of non-trivially-copyable type âconst string {aka const struct std::basic_string<char>}â through â...â /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:2869:118: error: cannot pass objects of non-trivially-copyable type âconst string {aka const struct std::basic_string<char>}â through â...â /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:2875:82: error: cannot pass objects of non-trivially-copyable type âconst string {aka const struct std::basic_string<char>}â through â...â /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:2894:105: error: cannot pass objects of non-trivially-copyable type âconst string {aka const struct std::basic_string<char>}â through â...â /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:2894:105: error: cannot pass objects of non-trivially-copyable type âconst string {aka const struct std::basic_string<char>}â through â...â /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp: In member function âbool PlayerbotAI::CanReceiveSpecificSpell(uint8, Unit) constâ: /TrinityCore/src/server/game/AI/PlayerBots/PlayerbotAI.cpp:4919:140: warning: comparison between âenum SpellSpecificTypeâ and âenum SpellSpecificâ [-Wenum-compare] make[2]: [src/server/game/CMakeFiles/game.dir/AI/PlayerBots/PlayerbotAI.cpp.o] Error 1 make[1]: [src/server/game/CMakeFiles/game.dir/all] Error 2 Thanks.

Comments (7)

  1. S K reporter

    With that update i now get these warnings:

    [ 14%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_rogue_ai.cpp.o /TrinityCore/src/server/game/AI/NpcBots/bot_rogue_ai.cpp:7:0: warning: "MIN" redefined [enabled by default] /usr/include/x86_64-linux-gnu/sys/param.h:75:0: note: this is the location of the previous definition /TrinityCore/src/server/game/AI/NpcBots/bot_rogue_ai.cpp:8:0: warning: "MAX" redefined [enabled by default] /usr/include/x86_64-linux-gnu/sys/param.h:76:0: note: this is the location of the previous definition [ 14%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_ai.cpp.o /TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp: In member function âvoid bot_ai::listAuras(Player, Unit) constâ: /TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:705:50: warning: format not a string literal and no format arguments [-Wformat-security] /TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:724:83: warning: conversion lacks type at end of format [-Wformat] /TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:725:66: warning: conversion lacks type at end of format [-Wformat] /TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:726:66: warning: conversion lacks type at end of format [-Wformat] [ 14%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_mage_ai.cpp.o [ 14%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_warlock_ai.cpp.o [ 14%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_shaman_ai.cpp.o [ 14%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_priest_ai.cpp.o [ 15%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_druid_ai.cpp.o /TrinityCore/src/server/game/AI/NpcBots/bot_druid_ai.cpp: In member function âvirtual void druid_bot::bot_druid_ai::UpdateAI(uint32)â: /TrinityCore/src/server/game/AI/NpcBots/bot_druid_ai.cpp:358:44: warning: comparison between âenum ShapeshiftFormâ and âenum DruidStancesâ [-Wenum-compare] [ 15%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_warrior_ai.cpp.o [ 15%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botcommands.cpp.o [ 15%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_hunter_ai.cpp.o /TrinityCore/src/server/game/AI/NpcBots/bot_hunter_ai.cpp: In member function âvoid hunter_bot::hunter_botAI::DoNormalAttack(uint32)â: /TrinityCore/src/server/game/AI/NpcBots/bot_hunter_ai.cpp:158:70: warning: passing NULL to non-pointer argument 3 of âvoid WorldObject::MonsterSay(const char*, uint32, uint64)â [-Wconversion-null] [ 15%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/CoreAI/CombatAI.cpp.o

    But continues compiling until:

    [100%] Building CXX object src/server/worldserver/CMakeFiles/worldserver.dir/PrecompiledHeaders/worldPCH.cpp.o Linking CXX executable worldserver ../game/libgame.a(PlayerbotAI.cpp.o): In function PlayerbotAI::SendWhisper(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Player&) const [clone .constprop.1022]': PlayerbotAI.cpp:(.text+0x21bd): undefined reference toPlayer::BuildPlayerChat(WorldPacket, unsigned char, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int) const' ../game/libgame.a(PlayerbotAI.cpp.o): In function PlayerbotAI::TellMaster(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const': PlayerbotAI.cpp:(.text+0x353e): undefined reference toPlayer::BuildPlayerChat(WorldPacket, unsigned char, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int) const' ../game/libgame.a(PlayerbotAI.cpp.o): In function PlayerbotAI::SendWhisper(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Player&) const': PlayerbotAI.cpp:(.text+0x3f5d): undefined reference toPlayer::BuildPlayerChat(WorldPacket, unsigned char, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int) const' collect2: ld returned 1 exit status make[2]: [src/server/worldserver/worldserver] Error 1 make[1]: [src/server/worldserver/CMakeFiles/worldserver.dir/all] Error 2 make: ** [all] Error 2

  2. trickerer repo owner

    b40cc04e23
    but before you compile go to Player.cpp row 20553 (not related to bots and maybe not needed)

                SetCharm(charm, false);
        }
    }
    
    -inline void Player::BuildPlayerChat(WorldPacket* data, uint8 msgtype, const std::string& text, uint32 language) const
    +inline void Player::BuildPlayerChat(WorldPacket* data, uint8 msgtype, std::string const& text, uint32 language) const
    {
        *data << uint8(msgtype);
        *data << uint32(language);
    

    missing change from:
    https://github.com/TrinityCore/TrinityCore/commit/9fbc4c0ae2acab3ceba717b33c72e2382a1e5bb8#L14L1205 (Player.h)

  3. S K reporter

    I have changed what you said in Player.cpp on that row but am receiving exactly the same warning/error messages as before. P.S. Sorry for the slow reply, my internet has been down.

  4. Log in to comment