[Gate-users] Problems with compiling GATE

franklin pereira pnicholasf at gmail.com
Fri Jul 25 19:43:58 CEST 2008


Hi,

I have a Dell Vostro ( intel core duo processor) with Ubuntu 8.04 installed.
The default version of the gcc compiler is 4.2.3

I recently downloaded Gate3.1.2, Geant4 (version 9.0), ROOT (5.14).

Geant4 compiled without any problems.

However, I am having problems with compiling ROOT-5.14.
I get tons of warnings and then the compilation aborts with the
following error message:

*************************************************************************************************************************
>>  bin/rmkdepend -R -fcint/src/gcc3strm.d -Y -w 1000 -- -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude  -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -Icint/src -pthread -Icint/lib/gcc3strm -D__cplusplus -- cint/src/gcc3strm.cxx
g++ -O  -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude
-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT
-DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO
-DG__CINTBODY -Icint/src -pthread -Icint/lib/gcc3strm -o
cint/src/gcc3strm.o -c cint/src/gcc3strm.cxx
cint/src/gcc3strm.cxx: In function 'int G__G__stream_7_7_0(G__value*,
const char*, G__param*, int)':
cint/src/gcc3strm.cxx:311: error: 'class std::fpos<__mbstate_t>' has
no member named 'operator=='
cint/src/gcc3strm.cxx: In function 'int G__G__stream_7_8_0(G__value*,
const char*, G__param*, int)':
cint/src/gcc3strm.cxx:317: error: 'class std::fpos<__mbstate_t>' has
no member named 'operator!='
make: *** [cint/src/gcc3strm.o] Error 1
*************************************************************************************************************************


ROOT 5.20, however, compiles cleanly, but gate will not compile with
this version of ROOT as is cannot find the proper function
declarations for the various ROOT functions ( the header files are in
/root/include and this is passed on to the g++ compiler correctly
in the GATE makefile ).


A sample of these error messages are:

**************************************************************************************************************
>>Using global libraries ...
Linking Gate ...
/opt/Geant4/geant4.9.0.p02/tmp/Linux-g++/Gate/libGate.a(GateHitFileReader.o):
In function `GateHitFileReader::PrepareAcquisition()':
GateHitFileReader.cc:(.text+0x102a): undefined reference to
`TFile::TFile(char const*, char const*, char const*, int)'
/opt/Geant4/geant4.9.0.p02/tmp/Linux-g++/Gate/libGate.a(GateToRoot.o):
In function `GateToRoot::RecordVoxels(GateVGeometryVoxelStore*)':
GateToRoot.cc:(.text+0xe47): undefined reference to `TFile::TFile(char
const*, char const*, char const*, int)'
/opt/Geant4/geant4.9.0.p02/tmp/Linux-g++/Gate/libGate.a(GateToRoot.o):
In function `GateToRoot::RecordBeginOfAcquisition()':
GateToRoot.cc:(.text+0x3fd3): undefined reference to
`TFile::TFile(char const*, char const*, char const*, int)'
GateToRoot.cc:(.text+0x423b): undefined reference to
`TFile::TFile(char const*, char const*, char const*, int)'
/opt/root/lib/libTree.so: undefined reference to
`TFileCacheRead::TFileCacheRead(TFile*, int)'
/opt/root/lib/libTree.so: undefined reference to `TFile::GetCacheRead() const'
/opt/root/lib/libTree.so: undefined reference to
`TBufferFile::WriteClones(TClonesArray*, int)'
/opt/root/lib/libTree.so: undefined reference to
`TBufferFile::WriteArray(float const*, int)'
/opt/root/lib/libTree.so: undefined reference to `TSQLRow::Streamer(TBuffer&)'
/opt/root/lib/libTree.so: undefined reference to
`TBufferFile::WriteVersion(TClass const*, bool)'
/opt/root/lib/libHist.so: undefined reference to
`ROOT::Fit::BinData::Initialize(unsigned int, unsigned int,
ROOT::Fit::BinData::ErrorType)'
/opt/root/lib/libTree.so: undefined reference to `typeinfo for TSQLResult'
/opt/root/lib/libTree.so: undefined reference to
`TBufferFile::ReadObject(TClass const*)'
/opt/root/lib/libTree.so: undefined reference to `TKey::Create(int, TFile*)'
********************************************************************************************************************


My guess is that the function declarations in ROOT5.20 have changed
from version 5.14, therefore the conflict.
However, I am clueless regarding the compilation errors generated
while trying to compile ROOT-5.14.
Is this due to the newer version of gcc that comes with the Ubuntu OS
? I am at a loss and would appreciate help regarding this.

Thanks a lot,
Franklin.



More information about the Gate-users mailing list