Closed kaijikan closed 1 year ago
Thanks for the report. CI build is still not set up for Linux, that's my fault. Try after https://github.com/trickerer/AzerothCore-wotlk-with-NPCBots/commit/f8827e468d05298d440eb79c2514ed857f099398
Thank you vey much, particularly for looking at this so quickly
It does indeed look like the compiler has now passed that point, but then encountered another one later in the file:
[ 22%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_bf.cpp.o
[ 22%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_ai.cpp.o
[ 22%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_cache.cpp.o
In file included from /azerothcore/src/server/game/AI/NpcBots/bot_ai.cpp:1:
/azerothcore/src/server/game/AI/NpcBots/bot_ai.h:531:54: fatal error: unknown type name 'EnchantmentSlot'
void RemoveItemEnchantment(Item const* item, EnchantmentSlot eslot);
^
1 error generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:206: src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_ai.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1225: src/server/game/CMakeFiles/game.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 22%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_cast.cpp.o
[ 22%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/CreatureHooks.cpp.o
[ 22%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_character.cpp.o
[ 22%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_cheat.cpp.o
Not 100% that you won't get another error but this is supposed to fix that non-PCH compile error
No problem trickerer, I understand how this goes. Thanks for your help.
It looks like it has now advanced through that script, but run into a couple of warning and an error. I guess it's only the errors that matter, but I have included the warnings for your awareness.
Warning 1 FYI : bot_warrior_ai.cpp:1959:99: warning: arithmetic between different enumeration types
[ 26%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_inventory.cpp.o
[ 26%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_item.cpp.o
[ 26%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_learn.cpp.o
/azerothcore/src/server/game/AI/NpcBots/bot_warrior_ai.cpp:1959:99: warning: arithmetic between different enumeration types ('EUnitFields' and 'WeaponAttackType') is deprecated [-Wdeprecated-enum-enum-conversion]
if (roll_chance_f(me->GetPPMProcChance(me->GetFloatValue(UNIT_FIELD_BASEATTACKTIME+BASE_ATTACK), 15.f, nullptr)))
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
1 warning generated.
[ 26%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botcommands.cpp.o
[ 26%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/PacketHooks.cpp.o
[ 26%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_lfg.cpp.o
[ 26%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/PlayerHooks.cpp.o
[ 26%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/ServerHooks.cpp.o
[ 26%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_list.cpp.o
[ 26%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/VehicleHooks.cpp.o
[ 26%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdatamgr.cpp.o
Error: botdatamgr.h:22:6: fatal error: ISO C++ forbids forward references to 'enum' types
[ 27%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/lmarshal.cpp.o
[ 27%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lapi.c.o
[ 27%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdpstracker.cpp.o
[ 27%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdump.cpp.o
[ 27%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botgiver.cpp.o
In file included from /azerothcore/src/server/game/AI/NpcBots/botdump.cpp:15:
/azerothcore/src/server/game/AI/NpcBots/botdatamgr.h:22:6: fatal error: ISO C++ forbids forward references to 'enum' types
enum LocaleConstant;
^
1 error generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:492: src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdump.cpp.o] Error 1
[ 27%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lauxlib.c.o
make[2]: *** Waiting for unfinished jobs....
[ 27%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lbaselib.c.o
[ 27%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lbitlib.c.o
[ 27%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lcode.c.o
Warning 2 FYI: botdatamgr.cpp:54:18: warning: unused variable 'FLAGS_ONLY_A_OR_H' [-Wunused-const-variable]
[ 29%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lstring.c.o
[ 29%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lstrlib.c.o
[ 29%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/ltable.c.o
[ 29%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/ltablib.c.o
/azerothcore/src/server/game/AI/NpcBots/botdatamgr.cpp:54:18: warning: unused variable 'FLAGS_ONLY_A_OR_H' [-Wunused-const-variable]
constexpr uint32 FLAGS_ONLY_A_OR_H = FLAGS_ONLY_A | FLAGS_ONLY_H;
^
1 warning generated.
[ 29%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_misc.cpp.o
make[1]: *** [CMakeFiles/Makefile2:1225: src/server/game/CMakeFiles/game.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 29%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/ltm.c.o
[ 30%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_mmaps.cpp.o
[ 30%] Building C object modules/CMakeFiles/modules.dir/mod-eluna/src/lualib/lundump.c.o
Thanks once again, we are definitely getting closer! Unfortunately your fix had revealed another error a bit further along:
[ 30%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdpstracker.cpp.o
[ 30%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdump.cpp.o
In file included from /azerothcore/src/server/game/AI/NpcBots/botdump.cpp:15:
/azerothcore/src/server/game/AI/NpcBots/botdatamgr.h:24:44: fatal error: use of undeclared identifier 'VISIBILITY_DISTANCE_NORMAL'
constexpr float MIN_WANDER_NODE_DISTANCE = VISIBILITY_DISTANCE_NORMAL * 0.5f;
^
1 error generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:492: src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdump.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 30%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_npc.cpp.o
[ 30%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_pet.cpp.o
Again, I appreciate your time and efforts. Thanks
Okay, good news and bad news here.
I ran noPCH build locally (MSVC though) and fixed all errors I got in bot code.
Bad news is that during compilation I got some errors not related to bots. In WaypointMgr.h
for example. I checked original repo and it looks like noPCH CI build isn't set up there either. WaypointMgr.h
isn't modified by bots mod but it clearly missing an include.
So, I suggest you configure your build to use core PCH and scripts PCH using CMake (5 -> 3 I guess)
Hopefully this is the final one. https://github.com/trickerer/AzerothCore-wotlk-with-NPCBots/commit/8aaddeff2bf79eb034fb5c90da2529d5e05e5394
Ah ha thank you! I think I see what you mean now.
When I run the compile from the dashboard as I have been doing, then it is ignoring the pre-compiled headers:
* Build core w/PCH : No
* Build scripts w/PCH : No
So I have now manually run the cmake etc as described here https://www.azerothcore.org/wiki/linux-core-installation, I did see some warnings but compilation has now completed!
cmake ../ -DCMAKE_INSTALL_PREFIX=/azerothcore/env/dist/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
.
.
.
* Build core w/PCH : Yes
* Build scripts w/PCH : Yes
.
.
.
[ 99%] Linking CXX static library libscripts.a
[ 99%] Built target scripts
Scanning dependencies of target worldserver
[ 99%] Building CXX object src/server/apps/CMakeFiles/worldserver.dir/cmake_pch.hxx.pch
[ 99%] Building CXX object src/server/apps/CMakeFiles/worldserver.dir/worldserver/Main.cpp.o
[ 99%] Building CXX object src/server/apps/CMakeFiles/worldserver.dir/worldserver/CommandLine/CliRunnable.cpp.o
[ 99%] Building CXX object src/server/apps/CMakeFiles/worldserver.dir/worldserver/ACSoap/ACSoap.cpp.o
[ 99%] Building CXX object src/server/apps/CMakeFiles/worldserver.dir/worldserver/RemoteAccess/RASession.cpp.o
[100%] Linking CXX executable worldserver
[100%] Built target worldserver
acore@fb7718d8ce71:/azerothcore/build$
I will move on to running the DB scripts and merging the worldserver config file. Fingers crossed that once I've completed all that, then I will have a running worlds derver with NPCbots!
Thank you for all your help with this.
Warnings, just FYI:
[ 27%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_message.cpp.o
/azerothcore/src/server/game/AI/NpcBots/botmgr.cpp:232:51: warning: 'GetBoolDefault' is deprecated: Use GetOption<bool> instead [-Wdeprecated-declarations]
_enableNpcBots = sConfigMgr->GetBoolDefault("NpcBot.Enable", true);
^
/azerothcore/src/common/Configuration/Config.h:57:7: note: 'GetBoolDefault' has been explicitly marked deprecated here
[[deprecated("Use GetOption<bool> instead")]]
^
/azerothcore/src/server/game/AI/NpcBots/botmgr.cpp:233:51: warning: 'GetIntDefault' is deprecated: Use GetOption<int32> instead [-Wdeprecated-declarations]
_maxNpcBots = sConfigMgr->GetIntDefault("NpcBot.MaxBots", 1);
.
.
.
[ 27%] Building CXX object modules/CMakeFiles/modules.dir/mod-eluna/src/LuaEngine/LuaFunctions.cpp.o
[ 27%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_misc.cpp.o
73 warnings generated.
[ 28%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botspell.cpp.o
[ 28%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botwanderful.cpp.o
[ 28%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bpet_ai.cpp.o
/azerothcore/src/server/game/AI/NpcBots/bpet_ai.cpp:1655:53: warning: arithmetic between different enumeration types ('EUnitFields' and 'Powers') is deprecated [-Wdeprecated-enum-enum-conversion]
me->UpdateUInt32Value(UNIT_FIELD_POWER1 + POWER_FOCUS, curValue);
~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
/azerothcore/src/server/game/AI/NpcBots/bpet_ai.cpp:1688:53: warning: arithmetic between different enumeration types ('EUnitFields' and 'Powers') is deprecated [-Wdeprecated-enum-enum-conversion]
me->UpdateUInt32Value(UNIT_FIELD_POWER1 + POWER_ENERGY, curValue);
~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~
[ 28%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Commands/cs_mmaps.cpp.o
2 warnings generated.
[ 28%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bpet_archmage.cpp.o
[ 28%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/bpet_dark_ranger.cpp.o
[ 52%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/EasternKingdoms/ZulAman/boss_janalai.cpp.o
[ 52%] Building CXX object src/server/game/CMakeFiles/game.dir/Entities/Vehicle/Vehicle.cpp.o
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:3850:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
else
^
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20553:59: warning: comparison of different enumeration types ('TeamId' and 'Team') is deprecated [-Wdeprecated-enum-compare]
else if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20632:59: warning: comparison of different enumeration types ('TeamId' and 'Team') is deprecated [-Wdeprecated-enum-compare]
else if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20637:54: warning: comparison of different enumeration types ('TeamId' and 'Team') is deprecated [-Wdeprecated-enum-compare]
if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20641:54: warning: comparison of different enumeration types ('TeamId' and 'Team') is deprecated [-Wdeprecated-enum-compare]
if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20553:59: warning: result of comparison of constant 'ALLIANCE' (469) with expression of type 'TeamId' is always false [-Wtautological-constant-out-of-range-compare]
else if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20632:59: warning: result of comparison of constant 'ALLIANCE' (469) with expression of type 'TeamId' is always false [-Wtautological-constant-out-of-range-compare]
else if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20637:54: warning: result of comparison of constant 'ALLIANCE' (469) with expression of type 'TeamId' is always false [-Wtautological-constant-out-of-range-compare]
if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
/azerothcore/src/server/game/Entities/Unit/Unit.cpp:20641:54: warning: result of comparison of constant 'ALLIANCE' (469) with expression of type 'TeamId' is always false [-Wtautological-constant-out-of-range-compare]
if (Player::TeamIdForRace(GetRace()) == ALLIANCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
[ 52%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/EasternKingdoms/ZulAman/boss_nalorakk.cpp.o
Judging by the absence of further feedback, the issue was resolved. Closing.
Hi trickerer, sorry I went on to build the database and test it all over the next couple of days, but then evidentially forgot to update you. It is all running now.
It seems the root of the issue was that I was using the compilation options on the acore.sh dashboard. after you put me on to the precompiled header issue, I used the compilation instructions here: https://www.azerothcore.org/wiki/linux-core-installation
There were a few warnings as described earlier, hence wanting to test it all for a while in case there was a crash or something, But it all seem to be running ok now.
Again, thank you for your help and your speed of replies to my posts.
Thanks
Description:
I have encountered an while trying to compile the AC NPC-Bot pre-patched repository https://github.com/trickerer/AzerothCore-wotlk-with-NPCBots/
And I have been trying to follow these instructions, https://github.com/trickerer/Trinity-Bots
However the compilation is failing.
As I am using the prepatched repository, I’m attempting to start from 'step 4 (Re) run CMake and (re)build'
To do this, I have run acore.sh and selected options:
However, the compilation seems to fail. This is a link to a text file with the full output for reference https://mega.nz/file/HRJSkYYa#K_1hpeMXINnDWVahk1jtEtE9oC57ozUZHIC7IBfLxyY, however this is the section that appears to be going wrong:
TrinityCore or AzerothCore: AzerothCore
Current behaviour:
Ultimately, the compilation then seems to fail before completing:
Expected behaviour: Compilation to complete sucessfully without errors
I am not a coder, but it appears that the compiler does not like the 'enum GossipOptionIcon;' declaration in bot_ai.h. I'm not sure if this needs changing, or if there is a way to disable this compilation error via the makelist files?
Steps to reproduce the problem:
clone repository https://github.com/trickerer/AzerothCore-wotlk-with-NPCBots/ run ./achore.sh and compile with options 5 > 5 (see above)
AC rev. hash/commit: This is during compilation and so i cannot run the world server yet. the full compilation output can be seen here: https://mega.nz/file/HRJSkYYa#K_1hpeMXINnDWVahk1jtEtE9oC57ozUZHIC7IBfLxyY
Operating system: ubuntu:20.04