[Gate-users] linking Gate after compilation fails

Albert Hirtl albert.hirtl at meduniwien.ac.at
Tue Feb 24 08:41:20 CET 2009


Dear Gate users,

I am trying to install gate_v4.0.0 on Scientific Linux 5.2 with 
geant4.9.1.p02, root_v5.14 and CLHEP_v2.0.3.2. However, after compiling 
gate, which goes fine, except for two warnings along the way:
--
Compiling GateEcatAccelSystem.cc ...
/opt/PETMC/ECAT/include/machine_indep.h:23: error: declaration of C 
function ‘void swab(const void*, void*, size_t)’ conflicts with
/usr/include/unistd.h:1086: error: previous declaration ‘void swab(const 
void*, void*, ssize_t)’ here
/opt/PETMC/clhep-2.0.3.2/include/CLHEP/Units/PhysicalConstants.h:78: 
warning: ‘CLHEP::electron_charge’ defined but not used
/opt/PETMC/clhep-2.0.3.2/include/CLHEP/Random/Randomize.h:67: warning: 
‘CLHEP::HepRandomGenActive’ defined but not used
make[1]: *** [../../tmp/Linux-g++/Gate/GateEcatAccelSystem.o] Error 1
--

and

--
Compiling GateSinoAccelToEcat7.cc ...
/opt/PETMC/ECAT/include/machine_indep.h:23: error: declaration of C 
function ‘void swab(const void*, void*, size_t)’ conflicts with
/usr/include/unistd.h:1086: error: previous declaration ‘void swab(const 
void*, void*, ssize_t)’ here
/opt/PETMC/clhep-2.0.3.2/include/CLHEP/Units/PhysicalConstants.h:78: 
warning: ‘CLHEP::electron_charge’ defined but not used
/opt/PETMC/clhep-2.0.3.2/include/CLHEP/Random/Randomize.h:67: warning: 
‘CLHEP::HepRandomGenActive’ defined but not used
make[1]: *** [../../tmp/Linux-g++/Gate/GateSinoAccelToEcat7.o] Error 1
--

the following problem occurs during linking Gate:

----
source/management finished
Using granular libraries ...
Linking Gate ...
./tmp/Linux-g++/Gate/libGate.a(GateDetectorConstruction.o): In function 
`GateDetectorConstruction::BuildSurfaces()':
GateDetectorConstruction.cc:(.text+0x189): undefined reference to 
`GateObjectCreatorStore::GetInstance()'
GateDetectorConstruction.cc:(.text+0x1a6): undefined reference to 
`GateSurfaceList::BuildSurfaces()'
./tmp/Linux-g++/Gate/libGate.a(GateDetectorConstruction.o): In function 
`GateDetectorConstruction::GateDetectorConstruction()':
GateDetectorConstruction.cc:(.text+0x637): undefined reference to 
`GateObjectCreatorStore::GetInstance()'
GateDetectorConstruction.cc:(.text+0x63f): undefined reference to 
`GateSystemListManager::GetInstance()'
./tmp/Linux-g++/Gate/libGate.a(GateDetectorConstruction.o): In function 
`GateDetectorConstruction::GateDetectorConstruction()':
GateDetectorConstruction.cc:(.text+0xb97): undefined reference to 
`GateObjectCreatorStore::GetInstance()'
GateDetectorConstruction.cc:(.text+0xb9f): undefined reference to 
`GateSystemListManager::GetInstance()'
./tmp/Linux-g++/Gate/libGate.a(GateDigitizer.o): In function 
`GateDigitizer::~GateDigitizer()':
GateDigitizer.cc:(.text+0x2042): undefined reference to `vtable for 
GateNamedObject'
GateDigitizer.cc:(.text+0x214b): undefined reference to `vtable for 
GateNamedObject'


..... lots of error messages of the same kind ....

GateArrayRepeaterMessenger.cc:(.text+0x39d): undefined reference to 
`GateObjectRepeaterMessenger::SetNewValue(G4UIcommand*, G4String)'
./tmp/Linux-g++/Gate/libGate.a(GateArrayRepeaterMessenger.o): In 
function 
`GateArrayRepeaterMessenger::GateArrayRepeaterMessenger(GateArrayRepeater*)':
GateArrayRepeaterMessenger.cc:(.text+0x51a): undefined reference to 
`GateObjectRepeaterMessenger::GateObjectRepeaterMessenger(GateVObjectRepeater*)'
GateArrayRepeaterMessenger.cc:(.text+0xa31): undefined reference to 
`GateObjectRepeaterMessenger::~GateObjectRepeaterMessenger()'
./tmp/Linux-g++/Gate/libGate.a(GateArrayRepeaterMessenger.o): In 
function 
`GateArrayRepeaterMessenger::GateArrayRepeaterMessenger(GateArrayRepeater*)':
GateArrayRepeaterMessenger.cc:(.text+0xdaa): undefined reference to 
`GateObjectRepeaterMessenger::GateObjectRepeaterMessenger(GateVObjectRepeater*)'
GateArrayRepeaterMessenger.cc:(.text+0x12c1): undefined reference to 
`GateObjectRepeaterMessenger::~GateObjectRepeaterMessenger()'
./tmp/Linux-g++/Gate/libGate.a(GateArrayRepeaterMessenger.o): In 
function `GateArrayRepeaterMessenger::~GateArrayRepeaterMessenger()':
GateArrayRepeaterMessenger.cc:(.text+0x116): undefined reference to 
`GateObjectRepeaterMessenger::~GateObjectRepeaterMessenger()'
./tmp/Linux-g++/Gate/libGate.a(GateArrayRepeaterMessenger.o): In 
function `GateArrayRepeaterMessenger::~GateArrayRepeaterMessenger()':
GateArrayRepeaterMessenger.cc:(.text+0x196): undefined reference to 
`GateObjectRepeaterMessenger::~GateObjectRepeaterMessenger()'
./tmp/Linux-g++/Gate/libGate.a(GateArrayRepeaterMessenger.o):(.rodata._ZTI26GateArrayRepeaterMessenger[typeinfo 
for GateArrayRepeaterMessenger]+0x8): undefined reference to `typeinfo 
for GateObjectRepeaterMessenger'
collect2: ld returned 1 exit status
make: *** [bin/Linux-g++/Gate] Error 1

----

Does anybody have an idea what is going wrong? I am somewhat desperate, 
since I already tried lots of things and I am running out of ideas.
Help would be very much appreciated!

Cheers,
Albert

-- 
Albert Hirtl

Medizinische Universität Wien
Universitätsklinik für Nuklearmedizin
Allgemeines Krankenhaus Wien
Währinger Gürtel 18-20
1090 Wien
Austria

Tel.: +43 (0) 1 / 40400 5545

Web: http://www.meduniwien.ac.at/nuklear/




More information about the Gate-users mailing list