Re: [ROOT] Using GDB with Root

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Feb 28 2001 - 19:03:51 MET


Hi Greg,

If you run on Linux, execute
 ldd  myProgram
to see all the shared libs and dependencies of myProgram

Rene Brun

Gregory Novak wrote:
> 
> Thanks for your prompt response.
> 
> Unfortunately, I have such a rule in my makefile and I'm sure that the
> code didn't get any old dictionary files laying around.  All the
> dictionary files were regenerated with the correct version of cint (I
> picked through the output of make to be sure of this).
> 
> The thing I find really puzzling is that I don't get either of these
> errors when running the executables directly.
> 
> I've also since tried gdb 5.0 and see the same behavior -- I get strange
> errors when using GDB but not when running the executable directly
> 
> Thanks,
> Greg
> 
> On Wed, 28 Feb 2001, Rene Brun wrote:
> 
> > Hi Greg,
> >
> > You forgot to regenerate the dictionaries for your classes.
> > It may happen (If I remember this has been the case 3 times in 6 years)
> > where the internal CINT structures have changed. In this cases,
> > there is no other alternative that to regenerate your dictionaries.
> > It is a good recipee to add in your Makefile a dependecy on rootcint
> > in addition to your *.h or *.cxx files.
> >
> > Rene Brun
> >
> > Gregory Novak wrote:
> > >
> > > I'm writing an analysis application using Root.  Up to now, I've been
> > > using version 2.23.12, but now I'd like to try it with more recent
> > > versions of Root.  I'm using RedHat 6.1.
> > >
> > > So, I installed several versions of root, pointed ROOTSYS,
> > > LD_LIBRARY_PATH, and my PATH to point to the correct directory, and
> > > rebuilt all of my source.  I verified that the compiler gets the right
> > > root headers, the linker gets the right root libraries, and rootcint comes
> > > from the right place.  I get an executable that runs, although sometimes I
> > > get segmentation faults where I didn't get them before.
> > >
> > > The problem is that I'm having trouble running GDB on my executables.
> > > When I try to run it on the copy compiled with root 2.25.03, I get:
> > >
> > > -----------------------------------------
> > > GNU gdb 4.18
> > > Copyright 1998 Free Software Foundation, Inc.
> > > GDB is free software, covered by the GNU General Public License, and you
> > > are
> > > welcome to change it and/or distribute copies of it under certain
> > > conditions.
> > > Type "show copying" to see the conditions.
> > > There is absolutely no warranty for GDB.  Type "show warranty" for
> > > details.
> > > This GDB was configured as "i386-redhat-linux"...
> > > (gdb) run
> > > Starting program: /home/greg/Projects/Software/dev/MiniDana/225/MiniDana
> > >
> > > !!!!!!!!!!!!!!   W A R N I N G    !!!!!!!!!!!!!
> > >
> > > The internal data structures have been changed.
> > > Please recompile the setup file which contains
> > > the definition "G__cpp_setupLinearRtRelationDict()"
> > > using CINT version 5.14.25, Nov 25 1999.
> > > library=30051428 cintbody=51415
> > >
> > > !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> > >
> > > Program exited with code 01.
> > > Current language:  auto; currently c
> > >
> > > ----------------------------------------
> > >
> > > And when I try to use the copy compiled with root 3.00.05, I get the
> > > following.
> > >
> > > ----------------------------------------
> > >
> > > GNU gdb 4.18
> > > Copyright 1998 Free Software Foundation, Inc.
> > > GDB is free software, covered by the GNU General Public License, and you
> > > are
> > > welcome to change it and/or distribute copies of it under certain
> > > conditions.
> > > Type "show copying" to see the conditions.
> > > There is absolutely no warranty for GDB.  Type "show warranty" for
> > > details.
> > > This GDB was configured as "i386-redhat-linux"...
> > > (gdb) run
> > > Starting program: /home/greg/Projects/Software/dev/MiniDana/300/MiniDana
> > > /home/greg/Projects/Software/dev/MiniDana/300/MiniDana: error in loading
> > > shared libraries: /home/greg/Projects/Software/dev/MiniDana/300/MiniDana:
> > > undefined symbol: AddClass__FPCcsPFv_vi
> > >
> > > Program exited with code 0177.
> > > Current language:  auto; currently c
> > >
> > > ------------------------------------------------------------
> > >
> > > ROOTSYS, LD_LIBRARY_PATH, and PATH are still pointing to the relevent
> > > version of Root when I run GDB.
> > >
> > > So, does anyone know what's going wrong?
> > >
> > > Thanks!
> > > Greg
> >



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:38 MET