[Gate-users] Link problem in compiling Gate5-p01
Chris Reynolds
C.Reynolds at westminster.ac.uk
Mon Oct 12 15:29:12 CEST 2009
Simon,
Thanks for the tips. I retried the make command, but no compilation
errors occured. The output is below. Any ideas?
Entering source/arf ...
make[1]: Nothing to be done for `obj'.
source/arf finished
Entering source/geometry ...
make[1]: Nothing to be done for `obj'.
source/geometry finished
Entering source/digitizer ...
make[1]: Nothing to be done for `obj'.
source/digitizer finished
Entering source/output ...
make[1]: Nothing to be done for `obj'.
source/output finished
Entering source/physics ...
make[1]: Nothing to be done for `obj'.
source/physics finished
Entering source/voxel ...
make[1]: Nothing to be done for `obj'.
source/voxel finished
Entering source/mandatory_G4_classes ...
make[1]: Nothing to be done for `obj'.
source/mandatory_G4_classes finished
Entering source/management ...
make[1]: Nothing to be done for `obj'.
source/management finished
Using granular libraries ...
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 Mon, 2009-10-12 at 14:13 +0200, Simon Stute wrote:
> No, not by default.
> You can type 'make >& log_file.log' to redirect stdin and err in the
> log_file (i.e. all messages, success and error) but you will not see
> anything on screen.
> If you want to, use the command 'tee', as: 'make | tee log_file.log' .
> It will redirect all outputs in the log_file and print on screen too.
>
> But the main goal of makefile is that if you launch it again, it will
> only try to compile files that have changed or that have not been
> compiled, so just launch it again and it will fail on the last class
> that has failed to compile.
>
> Good luck !
> Simon
>
> On Mon, Oct 12, 2009 at 12:00 PM, Chris Reynolds
> <C.Reynolds at westminster.ac.uk> wrote:
> 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.
>
>
--
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