[ROOT] Using GDB with Root

From: Gregory Novak (Gregory.Novak@cern.ch)
Date: Wed Feb 28 2001 - 22:20:13 MET


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