-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 [Bug Report] [WoTLK] Error Compiling @ GridNotifiers.cpp #2580
Comments
Tested [TBC] - Compiles correctly |
Tested [Classic] - Compiles correctly |
@killerwife closed this in cmangos/mangos-wotlk@3c83d44 git rev-parse HEAD 3c83d445a242ccd5974ca039d5e46134a13d38e3 Maybe not related to changes you made as other commit have been add.
|
@killerwife would you like me to create another issue for this? |
Not really, just wait. |
Ok I will not lie, I just built it on ubuntu 18.04 and it built properly. I will need someone with 20.04 to actually fix this because I dont want to shoot in the dark. |
@killerwife |
@killerwife Core SHA1 Commit Hash
|
I will go on to test TBC |
Sorry it is different but pertain to some of the same files |
TBC compiled without issue |
mangos-classic compiles just fine for me on clang++ |
@adellaci post the exact versions of gcc and g++ you have |
g++ (Ubuntu 9.3.0-17ubuntu1-20.04) 9.3.0 |
This is the system i have been running for cmangos. Same one since the start of Ubuntu 16.04 OS: Ubuntu 20.04.3 Server |
I have just compiled clean mangos-wotlk freshly pulled on ubuntu 18.04 with G++ 9.4.0 and it compiled just fine. I really dont know whats going on. |
okay let me try push my G++ to 9.4 and see if it makes a difference, but going to try a couple of other things first. |
I'm starting to think i have a system issue. Here is what i have now. Error is different
|
-- The C compiler identification is GNU 8.4.0 Exact same issue. On to next |
reran a build of tbc and i did not have an issue with 'TBC', and realm & world came up fine, but with a couple of warnings. |
-- The C compiler identification is GNU 10.3.0 Exact same issue. |
So in conclusion |
I believe I grouped this correctly. TBC Compiling; -- The C compiler identification is GNU 8.4.0
-- The C compiler identification is GNU 9.3.0
-- The C compiler identification is GNU 10.3.0 Warnings: 3
|
Would it be worth me running Classic & WoTLK through the same process? Would anything be gained by it? |
@killerwife |
I recommend completely deleting the mangos-wotlk directory and starting fresh, yep. For some reason the preprocessor doesn't seem to want to include some headerfiles for you. This could be filesystem permission problems for example or several other things. One note about installing cmangos on linux: you almost never have to use |
Hmm. After fixing some missing headers, I've reached an error that I'm not sure how to fix:
It seems that a template definition is expected for the following structure declaration in struct WorldStateVariable
{
int32 value;
bool send;
uint32 zoneId;
uint32 areaId;
std::vector<std::function<void()>> executors;
WorldStateVariable() : value(0), send(false), zoneId(0), areaId(0) {}
}; |
Try include |
what's even weirder: things compile just fine for me, but after having run GridNotifiers.cpp in mangos-tbc through the preprocessor, manually setting all include directories, I also get the what a weird bug... https://gist.github.com/insunaa/a3868977128b3ca27fc5fc9a92863785 <= the completely preprocessed gridnotifiers.cpp file |
@cyberium It's already included: #include "Platform/Define.h"
#include <map>
#include <functional>
#include <string> 😢 |
Then maybe its because i see nothing wrong on that line |
It was. 😄 |
@adellaci Could you test the commits in cmangos/mangos-classic#456 ? If they work for you, I'll merge it in core and port to the two others. |
Tho now that I think about it, cmangos-tbc doesn't compile for me on gcc at all, only with clang++ found the culprit: gcc-mirror/gcc@e41ba80
|
Did 'git pull' for classic commit hash 8a2064fcaa8c666e63a9f84dfb93928ac6ab6498 using: cmake warnings: 1
errors: 2
|
@adellaci did you pull all commits from the PR ? Including cmangos/mangos-classic@b4c7ba7 ? Because the error above should be fixed by the inclusion of the header from that commit. |
@cala unware how to pull PR
|
Just manually copy-paste the changes, that's only 5 lines (one per commit). It would be quicker I think. 😉 |
@cala i went to 'cmangos/mangos-classic@b4c7ba7' I see only one addition 23 + #include "Maps/MapPersistentStateMgr.h" |
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
|
TBC build Same errors as i had on Classic Add the same 5 commit to tbc Warnings: 0 |
WoTLK build
|
Somehow this one was not include or not in the right order by some compilers. See cmangos/issues#2580
Somehow this one was not include or not in the right order by some compilers. See cmangos/issues#2580
Somehow this one was not include or not in the right order by some compilers. See cmangos/issues#2580
Somehow this one was not include or not in the right order by some compilers. See cmangos/issues#2580
Fixes merged to Classic core and ported to TBC core. I see there is at least one extra fix needed for WotLK core: I'll take care of this later on this day. |
Somehow this one was not include or not in the right order by some compilers. See cmangos/issues#2580
Somehow this one was not include or not in the right order by some compilers. See cmangos/issues#2580
All cores should build now. Closing this. |
@cala thank you. I will test when I get home after work. |
@cala Once again thank you for your help and your patiences |
Bug Details
Details below in 'Crash Log'
cmake version 3.16.3
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
GNU Make 4.2.1
Steps to Reproduce
1.cmake
/cmangos/wotlk -DCMAKE_INSTALL_PREFIX=/wow-servers/wotlk -DBUILD_EXTRACTORS=On -DBUILD_AHBOT=ON -DBUILD_PLAYERBOT=ON -DPCH=0 -DDEBUG=0 -DBUILD_RECASTDEMOMOD=OFF2.make -j8
3.
4.
Expected behavior
Complete compiling with out error
Suggested Workaround
N/A
Crash Log
/home/mangos/cmangos/wotlk/src/game/Grids/GridNotifiers.cpp: In member function ‘void MaNGOS::RespawnDo::operator()(Creature*) const’:
/home/mangos/cmangos/wotlk/src/game/Grids/GridNotifiers.cpp:280:46: error: invalid use of incomplete type ‘class MapPersistentState’
280 | u->GetMap()->GetPersistentState()->SaveCreatureRespawnTime(u->GetDbGuid(), time(nullptr));
| ^~
In file included from /home/mangos/cmangos/wotlk/src/game/Maps/MapManager.h:25,
from /home/mangos/cmangos/wotlk/src/game/Entities/Unit.h:38,
from /home/mangos/cmangos/wotlk/src/game/Entities/DynamicObject.h:25,
from /home/mangos/cmangos/wotlk/src/game/Grids/GridNotifiers.h:26,
from /home/mangos/cmangos/wotlk/src/game/Grids/GridNotifiers.cpp:19:
/home/mangos/cmangos/wotlk/src/game/Maps/Map.h:53:7: note: forward declaration of ‘class MapPersistentState’
53 | class MapPersistentState;
| ^~~~~~~~~~~~~~~~~~
make[2]: *** [src/game/CMakeFiles/game.dir/build.make:7954: src/game/CMakeFiles/game.dir/Grids/GridNotifiers.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:702: src/game/CMakeFiles/game.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Core SHA1 Commit Hash
bab4ceac2caa4b53d880d249e1cbca0b94192afd
Database SHA1 Commit Hash
N/A
Operating System
Ubuntu 20.04.3 Server LTS
Client Version(s)
The text was updated successfully, but these errors were encountered: