Compile issues

Hello, VCMI rev 1901 doesn’t compile smoothly (some includes missed)
First error that occured was about invalid use of incomplete type ‘struct CMusicHandler’, which could be fixed by adding

#include "../hch/CMusicHandler.h"

to CCastleInterface.cpp

Second one was about invalid use of incomplete type ‘struct CMusicHandler’ and ‘struct CSoundHandler’, which I fixed with:

#include "../hch/CMusicHandler.h"
#include "../hch/CSndHandler.h"

and then there appeared new error which I wasn’t able to fix:

vcmiserver-CVCMIServer.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t)':
CVCMIServer.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t)]+0x10f): undefined reference to `shm_open'
collect2: ld returned 1 exit status

Something is wrong with your source code - that include in castle interface present from rev 1885: line 23 in latest CastleInterface.cpp
I suppose that second includes present as well. From what file they came?
Try to fix your sources first - that may fix last error as well.

After some problems VCMI compiles now correctly under Visual Studio 2010. Five files were not included into the compilation progress, so you have to add them to the project explorer in Visual Studio. It was mapHandler.cpp, CMapInfo.cpp, CMapInfo.h, CAnimation.h and CAnimation.cpp.

Additionally there was a problem with boost installed by the newest Boost pro v1.44 installer. It could not work with r values. Look here: stackoverflow.com/questions/3987 … terprocess

So you have to add the macro #define BOOST_NO_RVALUE_REFERENCES to the following files: CVCMIServer.cpp, Client.cpp

It would be nice if someone could update VCMI sources that everything is updated to VS10, works with the newest Boost pro package and that missing source files are included. For someone who have never worked with C++ and Visual Studio it’s really difficult to understand those compilation error messages what they’re meaning.

Thanks.

PS: This macro #define _WIN32_WINNT 0x0501 should also be added to the global.h file to avoid annoying warnings.

We found that distributing project files via SVN is not a good idea - different developers need to have different settings, paths and use different versions of Visual Studio. We will prepare a package and upload it somewhere.

Actually they’ve fixed it in 1.45.

Actually it should be a defined only for MSVC 10.0 and boost 1.44. I’ll try not to forget about it.

This define looks like it should be defiend in project settings for preprocessing… it’s strange that it is needed.

Hi, I just joined this forum and I think your work is great! I tried to compile the code, using instructions from your wiki, and I managed to overcome linker errors by including some files in project. Now I only have one error, and it is driving me crazy. Error is:

Error	183	error C2440: 'initializing' : cannot convert from 'std::_Tree<_Traits>::const_iterator' to 'std::_Tree<_Traits>::iterator'

and VS points to

std::set<size_t>::iterator it = offList.find(offs);

in CAnimation.cpp file.

Does changing that line to

std::set<size_t>::const_iterator it = offList.find(offs);

fixes your problem?

Yes, thank you. It compiled, but now when I try to run client it gives me an error string supscript out of range and crashes. Same thing happens when I try to run server.

Do you have English version of language files? VCMI has problems with certain non-English versions.

Yes, I have English version. When I download precompiled binaries, everything works, but when I use the ones that I compiled it crashes.

Could you paste here console output? Which line does it crash at?

CLient log is:

Creating console and logfile: 1
Loading settings: 497
VCMI 0.83b (client)
New screen flags: 0
	Initializing screen: 37
	Initializing video: 4
	Initializing minors: Smack cannot open 03DOLOGO.SMK

Error 2 encountered!
Error: The system cannot find the file specified.


Failed to open video file 3DOLOGO.SMK
	Loading default system settings: 9
	Initializing sound: 389
Initializing screen and sound handling: 400
Loading .lod files: 841
		Reading OBJNAMES 
		Reading ADVEVENT 
		Reading XTRAINFO 
		Reading MINENAME 
		Reading MINEEVNT 
		Reading RESTYPES 
		Reading TERRNAME 
		Reading RANDSIGN 
		Reading ZCRGN1 
		Reading CRGN4 
	General text handler: 471
	Hero handler: 45
	Artifact handler: 22
		Reading config/cr_abils.txt and ZCRTRAIT.TXT
		Reading config/crerefnam.txt
		Reading config/monsters.txt
		Reading config/cr_factions.txt
		Reading config/cr_upgrade_list.txt
		Reading config/CREDEFS.TXT
We have 197 creatures
		Reading CRANIM.TXT.txt
		Reading config/cr_shots.txt
		Reading config/cr_to_turret.txt
	Creature handler: 228
	Town handler: 68
		Reading cregens 
		Done loading objects!
		Done loading resource prices!
	Object handler: 45

and server log is:

Port 3030 will be used.
Loading .lod files: 795
		Reading OBJNAMES 
		Reading ADVEVENT 
		Reading XTRAINFO 
		Reading MINENAME 
		Reading MINEEVNT 
		Reading RESTYPES 
		Reading TERRNAME 
		Reading RANDSIGN 
		Reading ZCRGN1 
		Reading CRGN4 
	General text handler: 453
	Hero handler: 31
	Artifact handler: 31
		Reading config/cr_abils.txt and ZCRTRAIT.TXT
		Reading config/crerefnam.txt
		Reading config/monsters.txt
		Reading config/cr_factions.txt
		Reading config/cr_upgrade_list.txt
		Reading config/CREDEFS.TXT
We have 197 creatures
		Reading CRANIM.TXT.txt
		Reading config/cr_shots.txt
		Reading config/cr_to_turret.txt
	Creature handler: 219
	Town handler: 62
		Reading cregens 
		Done loading objects!
		Done loading resource prices!
	Object handler: 47

I was unable to locate problematic line.

From user named Dead:

my compiling log



------ Build started: Project: VCMI_lib, Configuration: Debug Win32 ------
Compiling...
CCreatureSet.cpp
VCMI_Lib.cpp
stdafx.cpp
RegisterTypes.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
NetPacksLib.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
map.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
IGameCallback.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\lib\netpacks.h(3) : fatal error C1083: Cannot open include file: 'boost/unordered_set.hpp': No such file or directory
HeroBonus.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CTownHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CTownHandler.cpp': No such file or directory
CSpellHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CSpellHandler.cpp': No such file or directory
Connection.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CObjectHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CObjectHandler.cpp': No such file or directory
CLodHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CLodHandler.cpp': No such file or directory
CHeroHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CHeroHandler.cpp': No such file or directory
CGeneralTextHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CGeneralTextHandler.cpp': No such file or directory
CGameState.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CDefObjInfoHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CDefObjInfoHandler.cpp': No such file or directory
CCreatureHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CCreatureHandler.cpp': No such file or directory
CConsoleHandler.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CCampaignHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CCampaignHandler.cpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CBuildingHandler.cpp
CArtHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CBuildingHandler.cpp': No such file or directory
c1xx : fatal error C1083: Cannot open source file: '..\hch\CArtHandler.cpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
Build log was saved at "file://c:\Documents and Settings\Dead\My Documents\Downloads\vcmi_083\branches\bonusesFifthPart\lib\Debug_VC9\BuildLog.htm"
VCMI_lib - 22 error(s), 0 warning(s)
------ Build started: Project: VCMI_server, Configuration: Debug Win32 ------
Compiling...
NetPacksServer.cpp
CVCMIServer.cpp
CGameHandler.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\server\stdafx.h(1) : fatal error C1083: Cannot open include file: 'boost/bind.hpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\server\stdafx.h(1) : fatal error C1083: Cannot open include file: 'boost/bind.hpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\server\stdafx.h(1) : fatal error C1083: Cannot open include file: 'boost/bind.hpp': No such file or directory
Build log was saved at "file://c:\Documents and Settings\Dead\My Documents\Downloads\vcmi_083\branches\bonusesFifthPart\server\Debug_VC9\BuildLog.htm"
VCMI_server - 3 error(s), 0 warning(s)
------ Build started: Project: VCMI_client, Configuration: Debug Win32 ------
Compiling...
AdventureMapButton.cpp
SDL_framerate.cpp
SDL_Extensions.cpp
NetPacksClient.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\lib\netpacks.h(3) : fatal error C1083: Cannot open include file: 'boost/unordered_set.hpp': No such file or directory
GUIClasses.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\client\functionlist.h(4) : fatal error C1083: Cannot open include file: 'boost/function.hpp': No such file or directory
GUIBase.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
Graphics.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CVideoHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CVideoHandler.cpp': No such file or directory
CThreadHelper.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CSpellWindow.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CSndHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CSndHandler.cpp': No such file or directory
CPreGame.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CPlayerInterface.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CMusicHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CMusicHandler.cpp': No such file or directory
CMT.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CMessage.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
Client.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\client\cmusichandler.h(4) : fatal error C1083: Cannot open include file: 'boost/thread/mutex.hpp': No such file or directory
CKingdomInterface.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CHeroWindow.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CGameInterface.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CGameInfo.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CDefHandler.cpp
c1xx : fatal error C1083: Cannot open source file: '..\hch\CDefHandler.cpp': No such file or directory
CCursorHandler.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CCreatureAnimation.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CConfigHandler.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CCastleInterface.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CCallback.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CBitmapHandler.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CBattleInterface.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CAdvmapInterface.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\client\functionlist.h(4) : fatal error C1083: Cannot open include file: 'boost/function.hpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
Build log was saved at "file://c:\Documents and Settings\Dead\My Documents\Downloads\vcmi_083\branches\bonusesFifthPart\client\Debug_VC9\BuildLog.htm"
VCMI_client - 30 error(s), 0 warning(s)
------ Build started: Project: genius, Configuration: Debug Win32 ------
Compiling...
BattleHelper.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
BattleLogic.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
GeneralAI.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
AIPriorities.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
CGeniusAI.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
DLLMain.cpp
c:\documents and settings\dead\my documents\downloads\vcmi_083\branches\bonusesfifthpart\global.h(7) : fatal error C1083: Cannot open include file: 'boost/logic/tribool.hpp': No such file or directory
Generating Code...
Build log was saved at "file://c:\Documents and Settings\Dead\My Documents\Downloads\vcmi_083\branches\bonusesFifthPart\AI\GeniusAI\Debug_VC9\BuildLog.htm"
genius - 6 error(s), 0 warning(s)
========== Build: 0 succeeded, 4 failed, 0 up-to-date, 0 skipped ==========
  1. Remove all files from projects, now they are sorted in folder. Add all files from folder with specified name to project.
  2. Add new StupidAI project to solution.
  3. Specify additional include / library directories per project as described in Wiki guide.

now i see that i many thing do bad, now read all wiki guide and i think all be ok :slight_smile:

I’ve got a few of these.

GCC:

ERMInterpreter.cpp: In member function ‘void StandardReceiverVisitor<T>::performOptionTakingOneParamter(const ERM::TNormalBodyOptionList&) const’:
ERMInterpreter.cpp:656: error: ISO C++ forbids declaration of ‘type name’ with no type
ERMInterpreter.cpp:656: error: expected primary-expression before ‘(’ token
ERMInterpreter.cpp:656: error: expected type-specifier
ERMInterpreter.cpp:656: error: expected ‘>’
ERMInterpreter.cpp:656: error: expected ‘(’
ERMInterpreter.cpp:656: error: expected primary-expression before ‘>’ token
ERMInterpreter.cpp:656: error: ISO C++ forbids declaration of ‘type name’ with no type
ERMInterpreter.cpp:656: error: expected ‘>’
ERMInterpreter.cpp:656: error: expected ‘(’
ERMInterpreter.cpp:656: error: expected primary-expression before ‘>’ token

Intel c++:

Try adding “typename” in front of OptionPerformer::TReceiverType.

That worked. But there’s more:

ERMInterpreter.cpp: In constructor ‘HE_BPerformer<opcode>::HE_BPerformer(HEPerformer&)’:
ERMInterpreter.cpp:691: error: class ‘HE_BPerformer<opcode>’ does not have any field named ‘StandardBodyOptionItemVisitor’
ERMInterpreter.cpp: In member function ‘void HE_BPerformer<opcode>::operator()(const ERM::TVarpExp&) const’:
ERMInterpreter.cpp:708: error: invalid use of incomplete type ‘struct HEPerformer’
ERMInterpreter.cpp:686: error: forward declaration of ‘struct HEPerformer’
ERMInterpreter.cpp: In constructor ‘HE_CPerformer<opcode>::HE_CPerformer(HEPerformer&)’:
ERMInterpreter.cpp:714: error: class ‘HE_CPerformer<opcode>’ does not have any field named ‘StandardBodyOptionItemVisitor’
ERMInterpreter.cpp: In member function ‘void HE_CPerformer<opcode>::operator()(const ERM::TVarpExp&) const’:
ERMInterpreter.cpp:731: error: invalid use of incomplete type ‘struct HEPerformer’
ERMInterpreter.cpp:686: error: forward declaration of ‘struct HEPerformer’
ERMInterpreter.cpp(989): error: argument list for class template "StandardReceiverVisitor" is missing
  	VRPerformer(ERMInterpreter * _interpr, IexpValStr ident) : StandardReceiverVisitor(_interpr, ident)
  	                                                           ^

ERMInterpreter.cpp(989): error: expected a ")"
  	VRPerformer(ERMInterpreter * _interpr, IexpValStr ident) : StandardReceiverVisitor(_interpr, ident)
  	                                                                                           ^

ERMInterpreter.cpp(990): error: no default constructor exists for class "StandardReceiverVisitor<IexpValStr>"

Hmm… try adding template parameter after base class name: StandardBodyOptionItemVisitor -> StandardBodyOptionItemVisitor for line 691 and so on.

Last one:

I keep seeing these various errors. Is that code c++ compliant ? Is g++ lacking or is msvc a bit too lax ?

I think it should be enough to specify the second template parameter of isA (change line 2361 to

if( isA<VNIL, VOption>(erm->eval(exp.children[1]) ) )

. Template argument deduction is a complicated issue. I don’t know what is the standard conforming behavior but MS claims they are standard compliant ( msdn.microsoft.com/en-us/library … 3(v=VS.100.aspx ).

That doesn’t help:

With the code in svn, clang also gives an error:

  CXX    libvcmi_la-ERMInterpreter.lo
ERMInterpreter.cpp:2361:8: error: no matching function for call to 'isA'
                        if( isA<VNIL>(erm->eval(exp.children[1]) ) )
                            ^~~~~~~~~
./ERMInterpreter.h:320:7: note: candidate function [with T = VERMInterpreter::VNIL, SecType = boost::variant<VERMInterpreter::VNIL,
      boost::recursive_wrapper<VERMInterpreter::VNode>, VERMInterpreter::VSymbol, boost::variant<char, double, int, std::basic_string<char>,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>, ERM::Tcommand,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>] not viable: no known conversion from
      'VERMInterpreter::VOption' (aka 'variant<VERMInterpreter::VNIL, boost::recursive_wrapper<VNode>, VERMInterpreter::VSymbol, TLiteral,
      ERM::Tcommand>') to 'boost::variant<VERMInterpreter::VNIL, boost::recursive_wrapper<VERMInterpreter::VNode>, VERMInterpreter::VSymbol,
      boost::variant<char, double, int, std::basic_string<char>, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_>, ERM::Tcommand, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_,
      boost::detail::variant::void_> &' for 1st argument
        bool isA(SecType & opt)
             ^

as well as icc:

ERMInterpreter.cpp(2361): error: no instance of function template "VERMInterpreter::isA" matches the argument list
            argument types are: (VERMInterpreter::VOption)
  			if( isA<VNIL>(erm->eval(exp.children[1]) ) )
  			    ^

[/code]