[Gate-users] Link problem in compiling Gate5-p01

Chris Reynolds C.Reynolds at westminster.ac.uk
Mon Oct 12 12:00:04 CEST 2009


Simon,
Is there a build log so I can see exactly which components are not
compiling?

Cheers

Chris

On Mon, 2009-10-12 at 10:54 +0200, Simon Stute wrote:
> Hi,
> 
> LD_LIBRARY_PATH is only used at the runtime for the programs to search
> the dynamic libraries.
> Check out the compilation at the beggining (compilation for the arf
> directory), I'm pretty sure some of the classes just did not compile,
> and so did not create some object files (.o), and that's why the link
> crashed.
> Since GATE is organized in thematic source directories, when a
> compilation problem occurs, it just stops the compilation in this
> directory, and others continue, that leads to link problem.
> 
> Cheers,
> Simon
> 
> 2009/10/12 Ida Häggström <ida.haggstrom at radfys.umu.se>
>         Hello Chris!
>         
>         I would try adding the path to your .o-files to
>         LD_LIBRARY_PATH, like I wrote in the post to Congwu. The
>         default path where they end up is
>         "gate_your_version/tmp/Linux-g++/Gate", you can check that
>         directory to see if you find the files there (the ones which
>         produce the undefined references, such as GateARFDataToRoot
>         etc.). If that doesn't work, I don't know! =)
>         
>         /Ida 
>         
>         2009/10/9 Chris Reynolds <C.Reynolds at westminster.ac.uk>
>         
>         
>                 
>                 Hi,
>                 I'm also have linker issues on Ubuntu. Similarly
>                 compilation is fine:
>                 
>                 Linking Gate
>                 ./tmp/Linux-g++/Gate/libGate.a(GateOutputMgr.o): In
>                 function
>                 `GateOutputMgr::GateOutputMgr(G4String)':
>                 GateOutputMgr.cc:(.text+0xd13): undefined reference to
>                 `GateARFDataToRoot::GateARFDataToRoot(G4String const&,
>                 GateOutputMgr*,
>                 DigiMode)'
>                 ./tmp/Linux-g++/Gate/libGate.a(GateOutputMgr.o): In
>                 function
>                 `GateOutputMgr::GateOutputMgr(G4String)':
>                 GateOutputMgr.cc:(.text+0x12b3): undefined reference
>                 to
>                 `GateARFDataToRoot::GateARFDataToRoot(G4String const&,
>                 GateOutputMgr*,
>                 DigiMode)'
>                 ./tmp/Linux-g++/Gate/libGate.a(GateSteppingAction.o):
>                 In function
>                 `GateSteppingAction::UserSteppingAction(G4Step
>                 const*)':
>                 GateSteppingAction.cc:(.text+0x232d): undefined
>                 reference to `typeinfo
>                 for GateARFDataToRoot'
>                 GateSteppingAction.cc:(.text+0x23b3): undefined
>                 reference to
>                 `GateARFDataToRoot::IncrementNbOfSourcePhotons()'
>                 collect2: ld returned 1 exit status
>                 make: *** [bin/Linux-g++/Gate] Error 1
>                 
>                 
>                 
>                 
>                 On Wed, 2009-10-07 at 13:44 -0700, C C wrote:
>                 > Hi, everyone, I have problems of compiling the
>                 gate5.
>                 > the OS is Suse. It seems the compilation is not a
>                 problem. But just
>                 > cannot link. In the screen output there are a lot of
>                 "undefinded
>                 > reference" error. Below is part of the message. Can
>                 anybody give a
>                 > hint what may be the problem. Thanks a lot.
>                 >
>                 > Congwu
>                 >
>                 > ..........
>                 > GateMDBFieldDecoder.cc:(.text+0x1843): undefined
>                 reference to
>                 > `GateTokenizer::CleanUpString(G4String&)'
>                 > GateMDBFieldDecoder.cc:(.text+0x1857): undefined
>                 reference to
>                 > `GateTokenizer::BreakString(G4String const&, char)'
>                 > GateMDBFieldDecoder.cc:(.text+0x1881): undefined
>                 reference to
>                 > `GateTokenizer::CleanUpString(G4String&)'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateMDBFieldDecoder.o): In function
>                 > `GateMDBFieldDecoder::DecodeNumericField(G4String
>                 const&, G4String,
>                 > G4String const&, GateMap<G4String, int>&,
>                 GateMap<G4String,
>                 > double>&)':
>                 > GateMDBFieldDecoder.cc:(.text+0x254e): undefined
>                 reference to
>                 > `GateTokenizer::CleanUpString(G4String&)'
>                 > GateMDBFieldDecoder.cc:(.text+0x2648): undefined
>                 reference to
>                 > `GateTokenizer::CleanUpString(G4String&)'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateMDBFieldDecoder.o): In function
>                 > `GateMDBFieldDecoder::DecodeTextField(G4String
>                 const&, G4String,
>                 > G4String const&, GateMap<G4String, int>&)':
>                 > GateMDBFieldDecoder.cc:(.text+0x2bce): undefined
>                 reference to
>                 > `GateTokenizer::CleanUpString(G4String&)'
>                 > GateMDBFieldDecoder.cc:(.text+0x2cc5): undefined
>                 reference to
>                 > `GateTokenizer::CleanUpString(G4String&)'
>                 > ./tmp/Linux-g
>                 >
>                 ++/Gate/libGate.a(GateMDBFieldDecoder.o):GateMDBFieldDecoder.cc:(.text
>                 > +0x2f8a): more undefined references to
>                 > `GateTokenizer::CleanUpString(G4String&)' follow
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::~GateCompressedVoxelOutputMessenger()':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x5b):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x7c):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::~GateCompressedVoxelOutputMessenger()':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0xd4):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::~GateCompressedVoxelOutputMessenger()':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x124):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::SetNewValue(G4UIcommand*,
>                 > G4String)':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x31f):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::SetNewValue(G4UIcommand*,
>                 > G4String)'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::GateCompressedVoxelOutputMessenger(GateCompressedVoxelOutput*)':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x490):
>                 undefined
>                 > reference to
>                 >
>                 `GateOutputModuleMessenger::GateOutputModuleMessenger(GateVOutputModule*)'
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x73b):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::GateCompressedVoxelOutputMessenger(GateCompressedVoxelOutput*)':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x960):
>                 undefined
>                 > reference to
>                 >
>                 `GateOutputModuleMessenger::GateOutputModuleMessenger(GateVOutputModule*)'
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0xc0b):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::~GateCompressedVoxelOutputMessenger()':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0xc9):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):
>                 > In function
>                 >
>                 `GateCompressedVoxelOutputMessenger::~GateCompressedVoxelOutputMessenger()':
>                 > GateCompressedVoxelOutputMessenger.cc:(.text+0x119):
>                 undefined
>                 > reference to
>                 `GateOutputModuleMessenger::~GateOutputModuleMessenger()'
>                 > ./tmp/Linux-g
>                 >
>                 ++/Gate/libGate.a(GateCompressedVoxelOutputMessenger.o):(.rodata._ZTI34GateCompressedVoxelOutputMessenger[typeinfo for GateCompressedVoxelOutputMessenger]+0x10): undefined reference to `typeinfo for GateOutputModuleMessenger'
>                 > ./tmp/Linux-g
>                 ++/Gate/libGate.a(GateFictitiousVoxelMapInserter.o):
>                 In
>                 > function
>                 `GateFictitiousVoxelMapInserter::AddOutput(G4String)':
>                 > GateFictitiousVoxelMapInserter.cc:(.text+0xb36):
>                 undefined reference
>                 > to `GateOutputMgr::instance'
>                 > GateFictitiousVoxelMapInserter.cc:(.text+0xb48):
>                 undefined reference
>                 > to `GateOutputMgr::instance'
>                 > GateFictitiousVoxelMapInserter.cc:(.text+0xb54):
>                 undefined reference
>                 > to `GateOutputMgr::m_digiMode'
>                 > GateFictitiousVoxelMapInserter.cc:(.text+0xb86):
>                 undefined reference
>                 > to
>                 `GateOutputMgr::AddOutputModule(GateVOutputModule*)'
>                 > GateFictitiousVoxelMapInserter.cc:(.text+0xbfe):
>                 undefined reference
>                 > to `GateOutputMgr::GateOutputMgr(G4String)'
>                 > GateFictitiousVoxelMapInserter.cc:(.text+0xc05):
>                 undefined reference
>                 > to `GateOutputMgr::instance'
>                 > collect2: ld returned 1 exit status
>                 > make: *** [bin/Linux-g++/Gate] Error 1
>                 >
>                 >
>                 >
>                 >
>                 ______________________________________________________________________
>                 > Hotmail: Powerful Free email with security by
>                 Microsoft. Get it now.
>                 
>                 > _______________________________________________
>                 > Gate-users mailing list
>                 > Gate-users at lists.healthgrid.org
>                 >
>                 http://lists.healthgrid.org/mailman/listinfo/gate-users
>                 
>                 
>                 
>                 --
>                 The University of Westminster is a charity and a
>                 company limited by
>                 guarantee.  Registration number: 977818 England.
>                  Registered Office:
>                 309 Regent Street, London W1B 2UW, UK.
>                 
>                 _______________________________________________
>                 Gate-users mailing list
>                 Gate-users at lists.healthgrid.org
>                 http://lists.healthgrid.org/mailman/listinfo/gate-users
>                 
>         
>         
>         _______________________________________________
>         Gate-users mailing list
>         Gate-users at lists.healthgrid.org
>         http://lists.healthgrid.org/mailman/listinfo/gate-users
>         
> 


-- 
The University of Westminster is a charity and a company limited by
guarantee.  Registration number: 977818 England.  Registered Office:
309 Regent Street, London W1B 2UW, UK.



More information about the Gate-users mailing list