Re: [ROOT] Using GDB with Root

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Feb 28 2001 - 17:53:58 MET


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