I have tried numerous searches and found nothing that actually covered the error situation that I encountered. So, here I am with a heads up and question.
Not that this matters, but my system configuration is an x64 install of Fedora 20 (Linux, for those not familiar with that distribution). It uses gcc 4.8.2, just in case this factors in to the cause of the issue.
I have the 52a5213e462b hash of TrinityCore branch 4.3.4, with 3 other patches that I can compile and link just fine. Of those 3 patches, 1 is not my own doing, but I did apply a code change to make it work with the 4.3.4 branch (simple variable declaration issue). There are no common files patched between these 3 patches and Eluna, so it should not be a conflict in that regard. However, when I add Eluna to the mix, I can only get a successful link of worldserver if I compile with USE_COREPCH=0 set for cmake. If I leave the precompiled headers at default (enabled), the make process gets stopped with the following:
Is this a known problem that is on a TODO list? Granted, I am able to work around the issue by adding "-DUSE_COREPCH=0" to my cmake argument list. Just to be clear, the above errors only occur if USE_COREPCH is left enabled (default).
Not that this matters, but my system configuration is an x64 install of Fedora 20 (Linux, for those not familiar with that distribution). It uses gcc 4.8.2, just in case this factors in to the cause of the issue.
I have the 52a5213e462b hash of TrinityCore branch 4.3.4, with 3 other patches that I can compile and link just fine. Of those 3 patches, 1 is not my own doing, but I did apply a code change to make it work with the 4.3.4 branch (simple variable declaration issue). There are no common files patched between these 3 patches and Eluna, so it should not be a conflict in that regard. However, when I add Eluna to the mix, I can only get a successful link of worldserver if I compile with USE_COREPCH=0 set for cmake. If I leave the precompiled headers at default (enabled), the make process gets stopped with the following:
Code:
Linking CXX executable worldserver
../game/libgame.a(GridNotifiers.cpp.o): In function `Trinity::DelayedUnitRelocation::Visit(GridRefManager<Player>&)':
GridNotifiers.cpp:(.text+0x3056): undefined reference to `void Player::UpdateVisibilityOf<AreaTrigger>(AreaTrigger*, UpdateData&, std::set<Unit*, std::less<Unit*>, std::allocator<Unit*> >&)'
GridNotifiers.cpp:(.text+0x3b48): undefined reference to `void Player::UpdateVisibilityOf<AreaTrigger>(AreaTrigger*, UpdateData&, std::set<Unit*, std::less<Unit*>, std::allocator<Unit*> >&)'
GridNotifiers.cpp:(.text+0x3e72): undefined reference to `void Player::UpdateVisibilityOf<AreaTrigger>(AreaTrigger*, UpdateData&, std::set<Unit*, std::less<Unit*>, std::allocator<Unit*> >&)'
GridNotifiers.cpp:(.text+0x427d): undefined reference to `void Player::UpdateVisibilityOf<AreaTrigger>(AreaTrigger*, UpdateData&, std::set<Unit*, std::less<Unit*>, std::allocator<Unit*> >&)'
GridNotifiers.cpp:(.text+0x4830): undefined reference to `void Player::UpdateVisibilityOf<AreaTrigger>(AreaTrigger*, UpdateData&, std::set<Unit*, std::less<Unit*>, std::allocator<Unit*> >&)'
../game/libgame.a(GridNotifiers.cpp.o):GridNotifiers.cpp:(.text+0x4c56): more undefined references to `void Player::UpdateVisibilityOf<AreaTrigger>(AreaTrigger*, UpdateData&, std::set<Unit*, std::less<Unit*>, std::allocator<Unit*> >&)' follow
collect2: error: 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
Is this a known problem that is on a TODO list? Granted, I am able to work around the issue by adding "-DUSE_COREPCH=0" to my cmake argument list. Just to be clear, the above errors only occur if USE_COREPCH is left enabled (default).