Re: Installation of GATE 6.1 on Debian Squeeze
Marcelo Santana <firstname.lastname@example.org> writes:
That site is very pretty, but contains no obvious link to sources; I wound up
examining them via http://www.creatis.insa-lyon.fr/~dsarrut/gate/doxygen/html/.
> I'm trying and I've got some errors in compilation as you can see attached
These mostly appear to stem from unconditional usage of conditionally visible
declarations. More specifically:
> src/GateActions.cc:193: error: ‘GateOutputMgr’ has not been declared
GateActions.cc #includes GateOutputMgr.hh only when G4ANALYSIS_USE_GENERAL is
defined, but then uses GateOutputMgr unconditionally. One of those policies is
> src/GateActions.cc:195: error: ‘GateToRoot’ was not declared in this scope
> src/GateActions.cc:626: error: ‘ARFDataToRoot’ was not declared in this scope
Likewise, GateToRoot.hh and ARFDataToRoot.hh conditionalize their contents on
G4ANALYSIS_USE_ROOT, but GateActions.cc uses GateToRoot and ARFDataToRoot
> src/GateApplicationMgr.cc:700: error: ‘GateUserActions’ has not been declared
In this case, I see no relevant #include directive at all; perhaps something
would #include GateUserActions.hh indirectly if an appropriate macro were
> src/GateSourceMgr.cc:184: error: expected type-specifier before ‘GateSourcePencilBeam’
> src/GateSourceMgr.cc:189: error: expected type-specifier before ‘GateSourceTPSPencilBeam’
As with GateActions.cc, the headers need G4ANALYSIS_USE_ROOT but the source
uses their types unconditionally.
At a higher level, there's also the problem of why those macros aren't getting
defined, as their names suggest they should be; regardless, the code should
degrade gracefully in their absence, rather than failing even to compile!
I hope this analysis helps.
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://email@example.com