[ROOT] ROOT 2.24.02 + RH 6.1 + gcc 2.95.2: Btree internal compiler error

From: Matthew D. Langston (langston@SLAC.stanford.edu)
Date: Thu Apr 13 2000 - 22:20:38 MEST


ROOT 2.24.02 users who are using RH 6.1 and gcc 2.95.2 will need to
apply the following patch if they want to compile ROOT from source.

I have attached the patch to this e-mail.  Just "cd" to the top of your
ROOT source tree and feed this e-mail to patch, e.g.:

  $ cd root-gcc-c++-2.95.2-2.24.02
  $ patch < BTree.bug.e-mail

For reference, here is the error that you will get if you don't apply
the patch.

g++ -O2 -Wall -fPIC -DR__GLIBC 
-I/mnt/hdc/projects/ROOT/2.00/rpm/BUILD/root-gcc-c++-2.95.2-2.24.02/ttf/include
-I/mnt/hdc/projects/ROOT/2.00/rpm/BUILD/root-gcc-c++-2.95.2-2.24.02/opengl/include
-D_REENTRANT -c CONT_Btree.cxx
CONT_Btree.cxx: In method `TBtInnerNode::TBtInnerNode(TBtInnerNode *,
TBtree *, TBtNode *)':
CONT_Btree.cxx:689: Internal compiler error.
CONT_Btree.cxx:689: Please submit a full bug report.
CONT_Btree.cxx:689: See
<URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for
instructions.
make[1]: *** [CONT_Btree.o] Error 1
make[1]: Leaving directory
`/mnt/hdc/projects/ROOT/2.00/rpm/BUILD/root-gcc-c++-2.95.2-2.24.02/src'
make: *** [default] Error 2
Bad exit status from /var/tmp/rpm-tmp.58277 (%build)

--
Matthew D. Langston
SLD, Stanford Linear Accelerator Center
langston@SLAC.Stanford.EDU

--- src/CONT_Btree.cxx.orig	Thu Apr  6 23:55:22 2000
+++ src/CONT_Btree.cxx	Mon Apr 10 12:59:32 2000
@@ -686,7 +686,8 @@
    // Called only by TBtree to initialize the TBtInnerNode that is
    // about to become the root.
 
-   fItem = new TBtItem[MaxIndex()+1];
+   const Int_t index = MaxIndex() + 1;
+   fItem = new TBtItem[ index ];
    if (fItem == 0)
       ::Fatal("TBtInnerNode::TBtInnerNode", "no more memory");
    Append(0, oldroot);



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:23 MET