Geant3 compilation problem on Mac OS X

ameen:geant3 DrAamer/ > make
TGeant3/TG3Application.cxx: In constructor ?TG3Application::TG3Application(const char*, const char*)?:
TGeant3/TG3Application.cxx:31: error: cannot allocate an object of abstract type ?TGeant3f77?
TGeant3/TGeant3f77.h:11: note: because the following virtual functions are pure within ?TGeant3f77?:
/Users/DrAamer/cern/root/include/TVirtualMC.h:429: note: virtual void TVirtualMC::SetUserParameters(Bool_t)
make: *** [/Users/DrAamer/cern/geant3/tgt_macosx64/TGeant3/TG3Application.o] Error 1
zameen:geant3 DrAamer/ >

I have tried different versions of gfortran and different versions of geant3. All the geant3 versions I have tried work fine on Scientific Linux CERN (SLC) on my desktop. But all give me the same problem as above on the mac. I have tried the following gfortran versions:

gfortran-42-5664.pkg (gcc 4.2.1)
gfortran-snwleo-intel-bin.tar (gcc 4.6.0)
gfortran-leopard-intel-bin-tar (gcc 4.4.1)
fink ‘version of fortran’ (gcc 4.4.4)

I get the same error message in all the cases. So obviously the problem lies somewhere else which I don’t seem to figure out.

Thanks a lot.

Aamer Wali Rauf
CIIT Islamabad

What’s your version of geant 3?

SetUserParameters was made pure virtual in 2010: … 4&r2=34359

In version 1-11 class TGeant3 overrides this function, TGeant3f77 inherits TGeant3, so it’s not an abstract class.

So, looks like you have an old version of geant 3. Update it to version 1-11.

Thanks a lot! I tried both the versions v1-9 and v1-10 but now as you suggested the version v1-11 compiled successfully though with lots of warnings. I hope none of these warnings would land me in the ‘red zone’ down the road.

Yes, I also have such warnings during geant compilation :slight_smile: Do not worry about them:)