[Gate-users] Link problem in compiling Gate5-p01
Simon Stute
gate.stute at gmail.com
Mon Oct 12 14:13:04 CEST 2009
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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20091012/42454f9c/attachment.htm>
More information about the Gate-users
mailing list