Cannot compile with commit a10bd032d1

hi all,
I just tried fresh compiling and it didn’t work. It gets thrown out after 61% during the make process

 61%] Building CXX object client/CMakeFiles/vcmiclient.dir/NetPacksClient.cpp.o
/home/shirish/games/vcmi/client/NetPacksClient.cpp: In member function ‘void OpenWindow::applyCl(CClient*)’:
/home/shirish/games/vcmi/client/NetPacksClient.cpp:830:28: warning: unused variable ‘h2’ -Wunused-variable]
Linking CXX executable vcmiclient
CMakeFiles/vcmiclient.dir/__/CCallback.cpp.o: In function `CCallback::setSelection(CArmedInstance const*)':
CCallback.cpp:(.text+0xbde): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/__/CCallback.cpp.o: In function `CCallback::recruitCreatures(CGObjectInstance const*, CreatureID, unsigned int, int)':
CCallback.cpp:(.text+0x1450): undefined reference to `operator!=(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/BattleInterface/CBattleInterface.cpp.o: In function `CBattleInterface::showAliveStack(CStack const*, SDL_Surface*)':
CBattleInterface.cpp:(.text+0x7a65): undefined reference to `operator==(CreatureID const&, CreatureID::ECreatureID const&)'
CMakeFiles/vcmiclient.dir/BattleInterface/CBattleInterface.cpp.o: In function `CBattleInterface::CBattleInterface(CCreatureSet const*, CCreatureSet const*, CGHeroInstance*, CGHeroInstance*, SDL_Rect const&, CPlayerInterface*, CPlayerInterface*)':
CBattleInterface.cpp:(.text+0xe84f): undefined reference to `operator==(CreatureID const&, CreatureID::ECreatureID const&)'
CMakeFiles/vcmiclient.dir/AdventureMapClasses.cpp.o: In function `CMinimapInstance::getTileColor(int3 const&)':
AdventureMapClasses.cpp:(.text+0x33ed): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdvMapInt::fshowSpellbok()':
CAdvmapInterface.cpp:(.text+0x1618): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CAdvmapInterface.cpp:(.text+0x16a9): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdvMapInt::curHero() const':
CAdvmapInterface.cpp:(.text+0x1916): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdvMapInt::curTown() const':
CAdvmapInterface.cpp:(.text+0x1966): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o:CAdvmapInterface.cpp:(.text+0x1e97): more undefined references to `operator==(Obj const&, Obj::EObj const&)' follow
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdvMapInt::tileLClicked(int3 const&)':
CAdvmapInterface.cpp:(.text+0x4171): undefined reference to `operator!=(Obj const&, Obj::EObj const&)'
CAdvmapInterface.cpp:(.text+0x4414): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdvMapInt::fsleepWake()':
CAdvmapInterface.cpp:(.text+0x46c8): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdvMapInt::keyPressed(SDL_KeyboardEvent const&)':
CAdvmapInterface.cpp:(.text+0x4a63): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CAdvmapInterface.cpp:(.text+0x4a99): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o: In function `CAdventureOptions::CAdventureOptions()':
CAdvmapInterface.cpp:(.text+0x5f1e): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o:CAdvmapInterface.cpp:(.text+0x67b1): more undefined references to `operator==(Obj const&, Obj::EObj const&)' follow
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `std::_Rb_tree_iterator<ArtifactID> std::_Rb_tree<ArtifactID, ArtifactID, std::_Identity<ArtifactID>, std::less<ArtifactID>, std::allocator<ArtifactID> >::_M_insert_<ArtifactID const&>(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, ArtifactID const&)':
Client.cpp:(.text._ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IRKS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSE_OT_[_ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IRKS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSE_OT_]+0xbd): undefined reference to `operator<(ArtifactID const&, ArtifactID const&)'
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `std::pair<std::_Rb_tree_iterator<ArtifactID>, bool> std::_Rb_tree<ArtifactID, ArtifactID, std::_Identity<ArtifactID>, std::less<ArtifactID>, std::allocator<ArtifactID> >::_M_insert_unique<ArtifactID const&>(ArtifactID const&)':
Client.cpp:(.text._ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x34): undefined reference to `operator<(ArtifactID const&, ArtifactID const&)'
Client.cpp:(.text._ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x63): undefined reference to `operator<(ArtifactID const&, ArtifactID const&)'
Client.cpp:(.text._ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x9b): undefined reference to `operator<(ArtifactID const&, ArtifactID const&)'
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `std::_Rb_tree_iterator<SpellID> std::_Rb_tree<SpellID, SpellID, std::_Identity<SpellID>, std::less<SpellID>, std::allocator<SpellID> >::_M_insert_<SpellID const&>(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, SpellID const&)':
Client.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IRKS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSE_OT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IRKS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSE_OT_]+0xbd): undefined reference to `operator<(SpellID const&, SpellID const&)'
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `std::pair<std::_Rb_tree_iterator<SpellID>, bool> std::_Rb_tree<SpellID, SpellID, std::_Identity<SpellID>, std::less<SpellID>, std::allocator<SpellID> >::_M_insert_unique<SpellID const&>(SpellID const&)':
Client.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x34): undefined reference to `operator<(SpellID const&, SpellID const&)'
Client.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x63): undefined reference to `operator<(SpellID const&, SpellID const&)'
Client.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x9b): undefined reference to `operator<(SpellID const&, SpellID const&)'
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `std::_Rb_tree_iterator<CreatureID> std::_Rb_tree<CreatureID, CreatureID, std::_Identity<CreatureID>, std::less<CreatureID>, std::allocator<CreatureID> >::_M_insert_<CreatureID const&>(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, CreatureID const&)':
Client.cpp:(.text._ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IRKS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSE_OT_[_ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IRKS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSE_OT_]+0xbd): undefined reference to `operator<(CreatureID const&, CreatureID const&)'
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `std::pair<std::_Rb_tree_iterator<CreatureID>, bool> std::_Rb_tree<CreatureID, CreatureID, std::_Identity<CreatureID>, std::less<CreatureID>, std::allocator<CreatureID> >::_M_insert_unique<CreatureID const&>(CreatureID const&)':
Client.cpp:(.text._ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x34): undefined reference to `operator<(CreatureID const&, CreatureID const&)'
Client.cpp:(.text._ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x63): undefined reference to `operator<(CreatureID const&, CreatureID const&)'
Client.cpp:(.text._ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI10CreatureIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIRKS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x9b): undefined reference to `operator<(CreatureID const&, CreatureID const&)'
CMakeFiles/vcmiclient.dir/Client.cpp.o: In function `void CMap::serialize<CISer<CLoadFile> >(CISer<CLoadFile>&, int)':
Client.cpp:(.text._ZN4CMap9serializeI5CISerI9CLoadFileEEEvRT_i[_ZN4CMap9serializeI5CISerI9CLoadFileEEEvRT_i]+0x5e9): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CPlayerInterface.cpp.o: In function `CPlayerInterface::newObject(CGObjectInstance const*)':
CPlayerInterface.cpp:(.text+0x757): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CPlayerInterface.cpp.o: In function `CPlayerInterface::availableCreaturesChanged(CGDwelling const*)':
CPlayerInterface.cpp:(.text+0xa1d): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CPlayerInterface.cpp:(.text+0xa74): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CPlayerInterface.cpp:(.text+0xa8d): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/CPlayerInterface.cpp.o:CPlayerInterface.cpp:(.text+0x4f44): more undefined references to `operator==(Obj const&, Obj::EObj const&)' follow
CMakeFiles/vcmiclient.dir/CSpellWindow.cpp.o: In function `CSpellWindow::SpellArea::showAll(SDL_Surface*)':
CSpellWindow.cpp:(.text+0x758): undefined reference to `SpellID::toSpell() const'
CMakeFiles/vcmiclient.dir/CSpellWindow.cpp.o: In function `std::_Rb_tree_iterator<SpellID> std::_Rb_tree<SpellID, SpellID, std::_Identity<SpellID>, std::less<SpellID>, std::allocator<SpellID> >::_M_insert_<SpellID>(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, SpellID&&)':
CSpellWindow.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSC_OT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_EESt17_Rb_tree_iteratorIS0_EPKSt18_Rb_tree_node_baseSC_OT_]+0xbd): undefined reference to `operator<(SpellID const&, SpellID const&)'
CMakeFiles/vcmiclient.dir/CSpellWindow.cpp.o: In function `std::pair<std::_Rb_tree_iterator<SpellID>, bool> std::_Rb_tree<SpellID, SpellID, std::_Identity<SpellID>, std::less<SpellID>, std::allocator<SpellID> >::_M_insert_unique<SpellID>(SpellID&&)':
CSpellWindow.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x34): undefined reference to `operator<(SpellID const&, SpellID const&)'
CSpellWindow.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x63): undefined reference to `operator<(SpellID const&, SpellID const&)'
CSpellWindow.cpp:(.text._ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_[_ZNSt8_Rb_treeI7SpellIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_]+0x9b): undefined reference to `operator<(SpellID const&, SpellID const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `CGarrisonSlot::hover(bool)':
GUIClasses.cpp:(.text+0x12b7d): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `CRecruitmentWindow::buy()':
GUIClasses.cpp:(.text+0x12ea2): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `CAltarWindow::SacrificeAll()':
GUIClasses.cpp:(.text+0x2383d): undefined reference to `operator!=(ArtifactID const&, ArtifactID::EArtifactID const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `CUniversityWindow::CUniversityWindow(CGHeroInstance const*, IMarket const*)':
GUIClasses.cpp:(.text+0x29a37): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `CMarketplaceWindow::CMarketplaceWindow(IMarket const*, CGHeroInstance const*, EMarketMode::EMarketMode)':
GUIClasses.cpp:(.text+0x35c81): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `bool vstd::contains<std::set<ArtifactID, std::less<ArtifactID>, std::allocator<ArtifactID> >, ArtifactID>(std::set<ArtifactID, std::less<ArtifactID>, std::allocator<ArtifactID> > const&, ArtifactID const&)':
GUIClasses.cpp:(.text._ZN4vstd8containsISt3setI10ArtifactIDSt4lessIS2_ESaIS2_EES2_EEbRKT_RKT0_[_ZN4vstd8containsISt3setI10ArtifactIDSt4lessIS2_ESaIS2_EES2_EEbRKT_RKT0_]+0x22): undefined reference to `operator==(ArtifactID const&, ArtifactID const&)'
CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o: In function `std::_Rb_tree<ArtifactID, ArtifactID, std::_Identity<ArtifactID>, std::less<ArtifactID>, std::allocator<ArtifactID> >::find(ArtifactID const&) const':
GUIClasses.cpp:(.text._ZNKSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_[_ZNKSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_]+0x34): undefined reference to `operator<(ArtifactID const&, ArtifactID const&)'
GUIClasses.cpp:(.text._ZNKSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_[_ZNKSt8_Rb_treeI10ArtifactIDS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_]+0x53): undefined reference to `operator<(ArtifactID const&, ArtifactID const&)'
CMakeFiles/vcmiclient.dir/mapHandler.cpp.o: In function `CMapHandler::getTerrainDescr(int3 const&, std::string&, bool)':
mapHandler.cpp:(.text+0x1367): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/mapHandler.cpp.o: In function `processDef(CGDefInfo const*)':
mapHandler.cpp:(.text+0x1ef2): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/mapHandler.cpp.o: In function `CMapHandler::terrainRect(int3, unsigned char, std::vector<std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >, std::allocator<std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > > > > const*, bool, unsigned char, SDL_Surface*, SDL_Rect const*, int, int, bool, int3) const':
mapHandler.cpp:(.text+0x2b90): undefined reference to `operator!=(Obj const&, Obj::EObj const&)'
mapHandler.cpp:(.text+0x2c00): undefined reference to `operator!=(Obj const&, Obj::EObj const&)'
mapHandler.cpp:(.text+0x2e37): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/mapHandler.cpp.o: In function `CMapHandler::initObjectRects()':
mapHandler.cpp:(.text+0x4a7b): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
mapHandler.cpp:(.text+0x4a9d): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
CMakeFiles/vcmiclient.dir/BattleInterface/CBattleAnimations.cpp.o: In function `CShootingAnimation::init()':
CBattleAnimations.cpp:(.text+0x3171): undefined reference to `operator==(CreatureID const&, CreatureID::ECreatureID const&)'
CMakeFiles/vcmiclient.dir/NetPacksClient.cpp.o: In function `SetAvailableCreatures::applyCl(CClient*)':
NetPacksClient.cpp:(.text+0x3560): undefined reference to `operator==(Obj const&, Obj::EObj const&)'
../lib/libvcmi.so: undefined reference to `operator==(Obj const&, Obj const&)'
../lib/libvcmi.so: undefined reference to `operator!=(SpellID const&, SpellID::ESpellID const&)'
../lib/libvcmi.so: undefined reference to `operator>(CreatureID const&, CreatureID const&)'
../lib/libvcmi.so: undefined reference to `Obj::toDefObjInfo() const'
../lib/libvcmi.so: undefined reference to `operator>=(CreatureID const&, CreatureID::ECreatureID const&)'
../lib/libvcmi.so: undefined reference to `operator!=(CreatureID const&, CreatureID const&)'
../lib/libvcmi.so: undefined reference to `operator==(SpellID const&, SpellID const&)'
../lib/libvcmi.so: undefined reference to `operator!=(CreatureID const&, CreatureID::ECreatureID const&)'
../lib/libvcmi.so: undefined reference to `operator<=(SpellID const&, SpellID::ESpellID const&)'
../lib/libvcmi.so: undefined reference to `operator<=(CreatureID const&, CreatureID::ECreatureID const&)'
../lib/libvcmi.so: undefined reference to `operator==(SpellID const&, SpellID::ESpellID const&)'
../lib/libvcmi.so: undefined reference to `operator<=(ArtifactID const&, ArtifactID::EArtifactID const&)'
../lib/libvcmi.so: undefined reference to `operator==(CreatureID const&, CreatureID const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [client/vcmiclient] Error 1
make[1]: *** [client/CMakeFiles/vcmiclient.dir/all] Error 2
make: *** [all] Error 2

This is from the latest commit :-

~/games/vcmi$ git log
commit a10bd032d1350a927366f305d4b8b49875510281
Author: djwarmonger <djwarmonger@4dfc6b2a-8b31-0410-aa91-d6c70e3ac834>
Date:   Mon Feb 11 17:23:55 2013 +0000

    - Compile fix
    - Fixed Basilisk spawning at Hive
    - Fixed double-shot of Marksman
    
    git-svn-id: https://vcmi.svn.sourceforge.net/svnroot/vcmi/trunk@3186 4dfc6b2a-8b31-0410-aa91-d6c70e3ac834

cmake files have not updated yet (after adding new file), will be fixed soon

UPD: Should be fixed in rev 3188 (but untested)

still issues but lot less errors with the newest commit :-

$ git log
commit 47120fc1da8fe03cdf3e80eb4b5d7aaa3bab8298
Author: alexvins <alexvins@4dfc6b2a-8b31-0410-aa91-d6c70e3ac834>
Date:   Mon Feb 11 19:27:37 2013 +0000

    [c::b] update projects
    
    git-svn-id: https://vcmi.svn.sourceforge.net/svnroot/vcmi/trunk@3188 4dfc6b2a-8b31-0410-aa91-d6c70e3ac834

Here’s the output :-

 63%] Building CXX object server/CMakeFiles/vcmiserver.dir/CGameHandler.cpp.o
In file included from /home/shirish/games/vcmi/server/CGameHandler.cpp:21:0:
/home/shirish/games/vcmi/server/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
/home/shirish/games/vcmi/server/CGameHandler.cpp: In member function ‘void CGameHandler::handleSpellCasting(int, int, BattleHex, ui8, TPlayerColor, const CGHeroInstance*, const CGHeroInstance*, int, ECastingMode::ECastingMode, const CStack*, si32)’:
/home/shirish/games/vcmi/server/CGameHandler.cpp:3973:65: error: operands to ?: have different types ‘const CreatureID’ and ‘CreatureID::ECreatureID’
make[2]: *** [server/CMakeFiles/vcmiserver.dir/CGameHandler.cpp.o] Error 1
make[1]: *** [server/CMakeFiles/vcmiserver.dir/all] Error 2
make: *** [all] Error 2
01:36:26 shirish@deb-home: ~/games/vcmi/build$ cd ../
01:36:54 shirish@deb-home: ~/games/vcmi$ git pull origin master
From git://github.com/vcmi/vcmi
 * branch            master     -> FETCH_HEAD
Already up-to-date.

Looks like same issue

bugs.vcmi.eu/view.php?id=1204

I`ve fixed this in 3190, but got more serious problem:

obj\Debug\VCAI.o||In function `ZN9CCallbackD1Ev':|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `vtable for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `vtable for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `vtable for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `vtable for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `vtable for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `VTT for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `VTT for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `VTT for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `VTT for CCallback'|
D:\projects\vcmi\engine\AI\VCAI\..\..\CCallback.h|97|undefined reference to `VTT for CCallback'|
||=== Build finished: 10 errors, 25 warnings (10 minutes, 31 seconds) ===|

VCAI need VMT of CCallback, but CCallback is linked into client.

yup, it’s fixed but there are quite a few warnings as @ AVS has shared.

$ make
Scanning dependencies of target vcmi
  1%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CBinaryReader.cpp.o
  2%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CFilesystemLoader.cpp.o
  3%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CMemoryStream.cpp.o
  3%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CFileInfo.cpp.o
  4%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CLodArchiveLoader.cpp.o
  5%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CResourceLoader.cpp.o
/home/shirish/games/vcmi/lib/Filesystem/CResourceLoader.cpp: In member function ‘std::pair<std::unique_ptr<unsigned char ]>, long unsigned int> CResourceLoader::loadData(const ResourceID&) const’:
/home/shirish/games/vcmi/lib/Filesystem/CResourceLoader.cpp:100:9: warning: unused variable ‘readSize’ -Wunused-variable]
  6%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CFileInputStream.cpp.o
  6%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CCompressedStream.cpp.o
  7%] Building CXX object lib/CMakeFiles/vcmi.dir/Mapping/CCampaignHandler.cpp.o
  8%] Building CXX object lib/CMakeFiles/vcmi.dir/Mapping/CMap.cpp.o
  9%] Building CXX object lib/CMakeFiles/vcmi.dir/Mapping/CMapEditManager.cpp.o
 10%] Building CXX object lib/CMakeFiles/vcmi.dir/Mapping/CMapInfo.cpp.o
 10%] Building CXX object lib/CMakeFiles/vcmi.dir/Mapping/CMapService.cpp.o
 11%] Building CXX object lib/CMakeFiles/vcmi.dir/Mapping/MapFormatH3M.cpp.o
 12%] Building CXX object lib/CMakeFiles/vcmi.dir/RMG/CMapGenOptions.cpp.o
 13%] Building CXX object lib/CMakeFiles/vcmi.dir/RMG/CMapGenerator.cpp.o
 13%] Building CXX object lib/CMakeFiles/vcmi.dir/BattleAction.cpp.o
 14%] Building CXX object lib/CMakeFiles/vcmi.dir/BattleHex.cpp.o
 15%] Building CXX object lib/CMakeFiles/vcmi.dir/BattleState.cpp.o
In file included from /home/shirish/games/vcmi/lib/BattleState.cpp:12:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 16%] Building CXX object lib/CMakeFiles/vcmi.dir/CArtHandler.cpp.o
In file included from /home/shirish/games/vcmi/lib/CArtHandler.cpp:11:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 16%] Building CXX object lib/CMakeFiles/vcmi.dir/CBattleCallback.cpp.o
In file included from /home/shirish/games/vcmi/lib/CBattleCallback.cpp:5:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 17%] Building CXX object lib/CMakeFiles/vcmi.dir/CBuildingHandler.cpp.o
 18%] Building CXX object lib/CMakeFiles/vcmi.dir/CConfigHandler.cpp.o
 19%] Building CXX object lib/CMakeFiles/vcmi.dir/CConsoleHandler.cpp.o
 19%] Building CXX object lib/CMakeFiles/vcmi.dir/CCreatureHandler.cpp.o
 20%] Building CXX object lib/CMakeFiles/vcmi.dir/CCreatureSet.cpp.o
/home/shirish/games/vcmi/lib/CCreatureSet.cpp: In member function ‘void CCreatureSet::joinStack(TSlot, CStackInstance*)’:
/home/shirish/games/vcmi/lib/CCreatureSet.cpp:344:19: warning: unused variable ‘c’ -Wunused-variable]
 21%] Building CXX object lib/CMakeFiles/vcmi.dir/CDefObjInfoHandler.cpp.o
 22%] Building CXX object lib/CMakeFiles/vcmi.dir/CGameInterface.cpp.o
 23%] Building CXX object lib/CMakeFiles/vcmi.dir/CGameState.cpp.o
In file included from /home/shirish/games/vcmi/lib/CGameState.cpp:21:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 23%] Building CXX object lib/CMakeFiles/vcmi.dir/CGeneralTextHandler.cpp.o
 24%] Building CXX object lib/CMakeFiles/vcmi.dir/CHeroHandler.cpp.o
 25%] Building CXX object lib/CMakeFiles/vcmi.dir/CLogger.cpp.o
 26%] Building CXX object lib/CMakeFiles/vcmi.dir/CModHandler.cpp.o
 26%] Building CXX object lib/CMakeFiles/vcmi.dir/CObjectHandler.cpp.o
In file included from /home/shirish/games/vcmi/lib/CObjectHandler.cpp:27:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 27%] Building CXX object lib/CMakeFiles/vcmi.dir/CObstacleInstance.cpp.o
/home/shirish/games/vcmi/lib/CObstacleInstance.cpp: In member function ‘const CObstacleInfo& CObstacleInstance::getInfo() const’:
/home/shirish/games/vcmi/lib/CObstacleInstance.cpp:41:1: warning: control reaches end of non-void function -Wreturn-type]
 28%] Building CXX object lib/CMakeFiles/vcmi.dir/Connection.cpp.o
In file included from /home/shirish/games/vcmi/lib/RegisterTypes.h:4:0,
                 from /home/shirish/games/vcmi/lib/Connection.cpp:5:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 29%] Building CXX object lib/CMakeFiles/vcmi.dir/CSpellHandler.cpp.o
 29%] Building CXX object lib/CMakeFiles/vcmi.dir/CThreadHelper.cpp.o
 30%] Building CXX object lib/CMakeFiles/vcmi.dir/CTownHandler.cpp.o
 31%] Building CXX object lib/CMakeFiles/vcmi.dir/GameConstants.cpp.o
 32%] Building CXX object lib/CMakeFiles/vcmi.dir/HeroBonus.cpp.o
 32%] Building CXX object lib/CMakeFiles/vcmi.dir/IGameCallback.cpp.o
In file included from /home/shirish/games/vcmi/lib/IGameCallback.cpp:16:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 33%] Building CXX object lib/CMakeFiles/vcmi.dir/JsonNode.cpp.o
 34%] Building CXX object lib/CMakeFiles/vcmi.dir/NetPacksLib.cpp.o
In file included from /home/shirish/games/vcmi/lib/NetPacksLib.cpp:2:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
/home/shirish/games/vcmi/lib/NetPacksLib.cpp: In member function ‘void RebalanceStacks::applyGs(CGameState*)’:
/home/shirish/games/vcmi/lib/NetPacksLib.cpp:715:23: warning: unused variable ‘c’ -Wunused-variable]
/home/shirish/games/vcmi/lib/NetPacksLib.cpp:739:23: warning: unused variable ‘c’ -Wunused-variable]
/home/shirish/games/vcmi/lib/NetPacksLib.cpp: In member function ‘void AssembledArtifact::applyGs(CGameState*)’:
/home/shirish/games/vcmi/lib/NetPacksLib.cpp:805:27: warning: unused variable ‘transformedArt’ -Wunused-variable]
 35%] Building CXX object lib/CMakeFiles/vcmi.dir/ResourceSet.cpp.o
 35%] Building CXX object lib/CMakeFiles/vcmi.dir/VCMI_Lib.cpp.o
Linking CXX shared library libvcmi.so
 35%] Built target vcmi
Scanning dependencies of target vcmiclient
 36%] Building CXX object client/CMakeFiles/vcmiclient.dir/__/CCallback.cpp.o
In file included from /home/shirish/games/vcmi/CCallback.cpp:17:0:
/home/shirish/games/vcmi/lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 37%] Building CXX object client/CMakeFiles/vcmiclient.dir/BattleInterface/CBattleAnimations.cpp.o
/home/shirish/games/vcmi/client/BattleInterface/CBattleAnimations.cpp: In constructor ‘CAttackAnimation::CAttackAnimation(CBattleInterface*, const CStack*, BattleHex, const CStack*)’:
/home/shirish/games/vcmi/client/BattleInterface/CBattleAnimations.cpp:101:7: warning: unused variable ‘isCatapultAttack’ -Wunused-variable]
 38%] Building CXX object client/CMakeFiles/vcmiclient.dir/BattleInterface/CBattleInterface.cpp.o
In file included from /home/shirish/games/vcmi/client/BattleInterface/CBattleInterface.cpp:22:0:
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
/home/shirish/games/vcmi/client/BattleInterface/CBattleInterface.cpp: In member function ‘void CBattleInterface::obstaclePlaced(const CObstacleInstance&)’:
/home/shirish/games/vcmi/client/BattleInterface/CBattleInterface.cpp:3456:21: warning: variable ‘sound’ set but not used -Wunused-but-set-variable]
 39%] Building CXX object client/CMakeFiles/vcmiclient.dir/BattleInterface/CBattleInterfaceClasses.cpp.o
In file included from /home/shirish/games/vcmi/client/BattleInterface/CBattleInterfaceClasses.cpp:17:0:
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/BattleInterface/../../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 39%] Building CXX object client/CMakeFiles/vcmiclient.dir/BattleInterface/CCreatureAnimation.cpp.o
 40%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/CGuiHandler.cpp.o
 41%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/CIntObject.cpp.o
 42%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/CIntObjectClasses.cpp.o
 42%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/Fonts.cpp.o
 43%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/Geometries.cpp.o
 44%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/CCursorHandler.cpp.o
 45%] Building CXX object client/CMakeFiles/vcmiclient.dir/UIFramework/SDL_Extensions.cpp.o
 45%] Building CXX object client/CMakeFiles/vcmiclient.dir/AdventureMapClasses.cpp.o
In file included from /home/shirish/games/vcmi/client/AdventureMapClasses.cpp:13:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 46%] Building CXX object client/CMakeFiles/vcmiclient.dir/CAdvmapInterface.cpp.o
 47%] Building CXX object client/CMakeFiles/vcmiclient.dir/CAnimation.cpp.o
 48%] Building CXX object client/CMakeFiles/vcmiclient.dir/CBitmapHandler.cpp.o
 48%] Building CXX object client/CMakeFiles/vcmiclient.dir/CCastleInterface.cpp.o
 49%] Building CXX object client/CMakeFiles/vcmiclient.dir/CCreatureWindow.cpp.o
In file included from /home/shirish/games/vcmi/client/CCreatureWindow.cpp:23:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 50%] Building CXX object client/CMakeFiles/vcmiclient.dir/CDefHandler.cpp.o
 51%] Building CXX object client/CMakeFiles/vcmiclient.dir/CGameInfo.cpp.o
 52%] Building CXX object client/CMakeFiles/vcmiclient.dir/CHeroWindow.cpp.o
In file included from /home/shirish/games/vcmi/client/CHeroWindow.cpp:24:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 52%] Building CXX object client/CMakeFiles/vcmiclient.dir/CKingdomInterface.cpp.o
 53%] Building CXX object client/CMakeFiles/vcmiclient.dir/Client.cpp.o
In file included from /home/shirish/games/vcmi/client/Client.cpp:23:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 54%] Building CXX object client/CMakeFiles/vcmiclient.dir/CMessage.cpp.o
 55%] Building CXX object client/CMakeFiles/vcmiclient.dir/CMT.cpp.o
In file included from /home/shirish/games/vcmi/client/CMT.cpp:34:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 55%] Building CXX object client/CMakeFiles/vcmiclient.dir/CMusicHandler.cpp.o
 56%] Building CXX object client/CMakeFiles/vcmiclient.dir/CPlayerInterface.cpp.o
In file included from /home/shirish/games/vcmi/client/CPlayerInterface.cpp:32:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 57%] Building CXX object client/CMakeFiles/vcmiclient.dir/CPreGame.cpp.o
In file included from /home/shirish/games/vcmi/client/CPreGame.cpp:37:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 58%] Building CXX object client/CMakeFiles/vcmiclient.dir/CSpellWindow.cpp.o
 58%] Building CXX object client/CMakeFiles/vcmiclient.dir/CVideoHandler.cpp.o
 59%] Building CXX object client/CMakeFiles/vcmiclient.dir/CQuestLog.cpp.o
In file included from /home/shirish/games/vcmi/client/CQuestLog.cpp:18:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 60%] Building CXX object client/CMakeFiles/vcmiclient.dir/Graphics.cpp.o
 61%] Building CXX object client/CMakeFiles/vcmiclient.dir/GUIClasses.cpp.o
In file included from /home/shirish/games/vcmi/client/GUIClasses.cpp:32:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 61%] Building CXX object client/CMakeFiles/vcmiclient.dir/mapHandler.cpp.o
 62%] Building CXX object client/CMakeFiles/vcmiclient.dir/NetPacksClient.cpp.o
In file included from /home/shirish/games/vcmi/client/NetPacksClient.cpp:2:0:
/home/shirish/games/vcmi/client/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/client/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
/home/shirish/games/vcmi/client/NetPacksClient.cpp: In member function ‘void OpenWindow::applyCl(CClient*)’:
/home/shirish/games/vcmi/client/NetPacksClient.cpp:830:28: warning: unused variable ‘h2’ -Wunused-variable]
Linking CXX executable vcmiclient
 62%] Built target vcmiclient
Scanning dependencies of target vcmiserver
 63%] Building CXX object server/CMakeFiles/vcmiserver.dir/CGameHandler.cpp.o
In file included from /home/shirish/games/vcmi/server/CGameHandler.cpp:21:0:
/home/shirish/games/vcmi/server/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 64%] Building CXX object server/CMakeFiles/vcmiserver.dir/CVCMIServer.cpp.o
In file included from /home/shirish/games/vcmi/server/CGameHandler.h:9:0,
                 from /home/shirish/games/vcmi/server/CVCMIServer.cpp:27:
/home/shirish/games/vcmi/server/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
 65%] Building CXX object server/CMakeFiles/vcmiserver.dir/NetPacksServer.cpp.o
In file included from /home/shirish/games/vcmi/server/NetPacksServer.cpp:2:0:
/home/shirish/games/vcmi/server/../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/server/../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
Linking CXX executable vcmiserver
 65%] Built target vcmiserver
Scanning dependencies of target FuzzyLite_lib
 65%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/AreaCentroidAlgorithm.cpp.o
 66%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyOperation.cpp.o
 67%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/OutputLVar.cpp.o
 68%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/CompoundTerm.cpp.o
 68%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyOperator.cpp.o
 69%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/RectangularTerm.cpp.o
 70%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/DescriptiveAntecedent.cpp.o
 71%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyOr.cpp.o
 71%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/RuleBlock.cpp.o
 72%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/DiscreteTerm.cpp.o
 73%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyRule.cpp.o
 74%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/ShoulderTerm.cpp.o
 74%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FunctionTerm.cpp.o
 75%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/Hedge.cpp.o
 76%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/SingletonTerm.cpp.o
 77%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyAnd.cpp.o
 78%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/HedgeSet.cpp.o
 78%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/StrOp.cpp.o
 79%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyAntecedent.cpp.o
 80%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/InfixToPostfix.cpp.o
 81%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/TakagiSugenoConsequent.cpp.o
 81%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyConsequent.cpp.o
 82%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/InputLVar.cpp.o
 83%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/TakagiSugenoRule.cpp.o
 84%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyDefuzzifier.cpp.o
 84%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/LinguisticTerm.cpp.o
 85%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/TakagiSugenoTerm.cpp.o
 86%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyEngine.cpp.o
 87%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/LinguisticVariable.cpp.o
 87%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/test.cpp.o
 88%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyException.cpp.o
 89%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/main.cpp.o
 90%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/TrapezoidalTerm.cpp.o
 91%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyExceptions.cpp.o
 91%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/MamdaniConsequent.cpp.o
 92%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/TriangularTerm.cpp.o
 93%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/FuzzyModulation.cpp.o
 94%] Building CXX object AI/FuzzyLite/CMakeFiles/FuzzyLite_lib.dir/MamdaniRule.cpp.o
Linking CXX static library libFuzzyLite_lib.a
 94%] Built target FuzzyLite_lib
Scanning dependencies of target BattleAI
 94%] Building CXX object AI/BattleAI/CMakeFiles/BattleAI.dir/BattleAI.cpp.o
 95%] Building CXX object AI/BattleAI/CMakeFiles/BattleAI.dir/main.cpp.o
Linking CXX shared library libBattleAI.so
 95%] Built target BattleAI
Scanning dependencies of target StupidAI
 95%] Building CXX object AI/StupidAI/CMakeFiles/StupidAI.dir/StupidAI.cpp.o
 96%] Building CXX object AI/StupidAI/CMakeFiles/StupidAI.dir/main.cpp.o
Linking CXX shared library libStupidAI.so
 96%] Built target StupidAI
Scanning dependencies of target EmptyAI
 97%] Building CXX object AI/EmptyAI/CMakeFiles/EmptyAI.dir/CEmptyAI.cpp.o
 98%] Building CXX object AI/EmptyAI/CMakeFiles/EmptyAI.dir/exp_funcs.cpp.o
Linking CXX shared library libEmptyAI.so
 98%] Built target EmptyAI
Scanning dependencies of target VCAI
 99%] Building CXX object AI/VCAI/CMakeFiles/VCAI.dir/main.cpp.o
In file included from /home/shirish/games/vcmi/AI/VCAI/VCAI.h:18:0,
                 from /home/shirish/games/vcmi/AI/VCAI/main.cpp:2:
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
[100%] Building CXX object AI/VCAI/CMakeFiles/VCAI.dir/VCAI.cpp.o
In file included from /home/shirish/games/vcmi/AI/VCAI/VCAI.h:18:0,
                 from /home/shirish/games/vcmi/AI/VCAI/VCAI.cpp:2:
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h: In constructor ‘BuildStructure::BuildStructure(si32, BuildingID)’:
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h:1843:13: warning: ‘BuildStructure::bid’ will be initialized after -Wreorder]
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h:1842:7: warning:   ‘si32 BuildStructure::tid’ -Wreorder]
/home/shirish/games/vcmi/AI/VCAI/../../lib/NetPacks.h:1841:2: warning:   when initialized here -Wreorder]
/home/shirish/games/vcmi/AI/VCAI/VCAI.cpp: In member function ‘void SectorMap::makeParentBFS(crint3)’:
/home/shirish/games/vcmi/AI/VCAI/VCAI.cpp:3874:8: warning: unused variable ‘sec’ -Wunused-variable]
[100%] Building CXX object AI/VCAI/CMakeFiles/VCAI.dir/Fuzzy.cpp.o
Linking CXX shared library libVCAI.so
[100%] Built target VCAI

This is should not be an issue, it is designed that way: because VCAI calls to CCallback relies on VMT, VCAI doesn’t need to be linked with CCallback. Function calls are resolved in runtime, not build time.
VCAI does not create objects of CCallback, so linker should not need its VMT. It is enough if VCMI receives a ready object with already set VMT.

Have you tried clean rebuild? It often helps me with such errors.

Clean build of just VCAI did not help. Will do full rebuild tomorrow.

Full clean rebuild did not help. still same error.

obj\Debug\VCAI.o: In function `ZN9CCallbackD1Ev':
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `vtable for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `vtable for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `vtable for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `vtable for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `vtable for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `VTT for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `VTT for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `VTT for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `VTT for CCallback'
D:/projects/vcmi/engine/AI/VCAI/../../CCallback.h:97: undefined reference to `VTT for CCallback'

Huh… Hard to say.
What is taht ZN9CCallbackD1Ev functoin? Could you try demangling that name? CCallback destructor…?
Can you try checking which revision broke this?

yes.

this will take … some time.

What if you added to the CCallback.h / CCallback.cpp trivial destructor virtual ~CCallback?
Then it won’t be compile generated and won’t be part of VCAI.cpp compile unit.

It works! Thanks.

cannot compile still :-

~/games/vcmi/build$ make
Scanning dependencies of target vcmi
  1%] Building CXX object lib/CMakeFiles/vcmi.dir/Filesystem/CBinaryReader.cpp.o
In file included from /usr/include/boost/thread/pthread/mutex.hpp:14:0,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:12,
                 from /usr/include/boost/thread/thread.hpp:17,
                 from /usr/include/boost/thread.hpp:13,
                 from /home/shirish/games/vcmi/lib/../Global.h:83,
                 from /home/shirish/games/vcmi/lib/StdInc.h:3,
                 from /home/shirish/games/vcmi/lib/Filesystem/CBinaryReader.cpp:1:
/usr/include/boost/thread/xtime.hpp:23:5: error: expected identifier before numeric constant
/usr/include/boost/thread/xtime.hpp:23:5: error: expected ‘}’ before numeric constant
/usr/include/boost/thread/xtime.hpp:23:5: error: expected unqualified-id before numeric constant
/usr/include/boost/thread/xtime.hpp:46:14: error: expected type-specifier before ‘system_time’
In file included from /usr/include/boost/thread/pthread/mutex.hpp:14:0,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:12,
                 from /usr/include/boost/thread/thread.hpp:17,
                 from /usr/include/boost/thread.hpp:13,
                 from /home/shirish/games/vcmi/lib/../Global.h:83,
                 from /home/shirish/games/vcmi/lib/StdInc.h:3,
                 from /home/shirish/games/vcmi/lib/Filesystem/CBinaryReader.cpp:1:
/usr/include/boost/thread/xtime.hpp: In function ‘int xtime_get(xtime*, int)’:
/usr/include/boost/thread/xtime.hpp:73:40: error: ‘get_system_time’ was not declared in this scope
/usr/include/boost/thread/xtime.hpp:73:40: note: suggested alternative:
In file included from /usr/include/boost/thread/locks.hpp:12:0,
                 from /usr/include/boost/thread/pthread/mutex.hpp:12,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:12,
                 from /usr/include/boost/thread/thread.hpp:17,
                 from /usr/include/boost/thread.hpp:13,
                 from /home/shirish/games/vcmi/lib/../Global.h:83,
                 from /home/shirish/games/vcmi/lib/StdInc.h:3,
                 from /home/shirish/games/vcmi/lib/Filesystem/CBinaryReader.cpp:1:
/usr/include/boost/thread/thread_time.hpp:19:24: note:   ‘boost::get_system_time’
In file included from /usr/include/boost/thread/pthread/mutex.hpp:14:0,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:12,
                 from /usr/include/boost/thread/thread.hpp:17,
                 from /usr/include/boost/thread.hpp:13,
                 from /home/shirish/games/vcmi/lib/../Global.h:83,
                 from /home/shirish/games/vcmi/lib/StdInc.h:3,
                 from /home/shirish/games/vcmi/lib/Filesystem/CBinaryReader.cpp:1:
/usr/include/boost/thread/xtime.hpp: At global scope:
/usr/include/boost/thread/xtime.hpp:88:1: error: expected declaration before ‘}’ token
make[2]: *** [lib/CMakeFiles/vcmi.dir/Filesystem/CBinaryReader.cpp.o] Error 1
make[1]: *** [lib/CMakeFiles/vcmi.dir/all] Error 2
make: *** [all] Error 2

Compilation is OK for me. This looks more like incorrectly installed boost.
Quick search shows this:
bbs.archlinux.org/viewtopic.php?pid=1126374