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

Simon Stute gate.stute at gmail.com
Mon Oct 12 10:54:16 CEST 2009


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20091012/4e045db1/attachment.htm>


More information about the Gate-users mailing list