Hi Roottalk,
Running on
Scientific Linux SL release 3.0.8 with gcc version 3.2.3
I am having trouble building a particularly dictionary with rootcint versions 5.15.04 and beyond. The command:-
rootcint -f NueMatrixHelperDict.cc -c NueMatrixHelper.h LinkDef.h
gives a segmentation fault. I have isolated the problem to the code:-
const float k_std_dis_res[2][2][4] = {
/* v+p v+n vb+p vb+n */ {{0.20, 0.20, 0.200, 0.20},{1.000, 1.000, 1.000, 1.000}}, // cc {{0.20, 0.20, 0.200, 0.20},{1.000, 1.000, 1.000, 1.000}} // nc /* multiplicity = 2 */ /* multiplicity = 3 */};
The stack dump looks like this:-
#0 0x001ddb01 in G__initary (new_name=0xbffeb1b0
"k_std_dis_res[2][2][4]") at cint/src/v6_decl.cxx:2781
2781 inc *= var->varlabel[varid][pi--];
(gdb) info stack
#0 0x001ddb01 in G__initary (new_name=0xbffeb1b0
"k_std_dis_res[2][2][4]") at cint/src/v6_decl.cxx:2781
#1 0x001dc7c4 in G__define_var (tagnum=-1, typenum=-1) at
cint/src/v6_decl.cxx:2389
#2 0x00259685 in G__exec_statement () at cint/src/v6_parse.cxx:3603
#3 0x0022cea1 in G__loadfile (filenamein=0xbffefd10
"NueMatrixHelper.h") at cint/src/v6_loadfile.cxx:2013
#4 0x00226398 in G__main (argc=23, argv=0xbfff8b20) at
cint/src/v6_init.cxx:1270
#5 0x08068361 in main (argc=6, argv=0xbfff9e24) at
utils/src/rootcint.cxx:4475
and looking at the source line:-
inc *= var->varlabel[varid][pi--];
the problem is:-
print varid
$3 = 0
print pi
$4 = 166049132 <=========== !!
The problem goes away if I switch to
Scientific Linux SL release 4.4 with gcc version 3.4.6
or retreat to ROOT version 5.15.02, but neither is an option for me.
I attach the two files NueMatrixHelper.h LinkDef.h that illustrate the problem.
Thanks,
Nick West
This archive was generated by hypermail 2.2.0 : Mon Apr 30 2007 - 23:50:02 CEST