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