Rootcint dies in v5.28.00.patches

VIVE L’AMOUR!
I am trying to get the newest “v5.28.00.patches” working on an Ubuntu 10.04.1 LTS (i686, gcc 4.4.3).
I configured it enabling all possible options:

Enabled support for asimage, astiff, builtin_afterimage, builtin_ftgl, builtin_freetype, builtin_glew, builtin_pcre, builtin_zlib, cintex, clarens, editline, exceptions, explicitlink, fftw3, gviz, gdml, genvector, gsl_shared, krb5, ldap, mathmore, memstat, minuit2, mysql, opengl, peac, python, qt, qtgsi, reflex, roofit, ruby, rpath, shadowpw, shared, soversion, ssl, table, tmva, unuran, x11, xft, xml, xrootd.

  1. “make” created all expected libraries and executables (I hope)

  2. “make qtcint” died with an “Error: Symbol longdouble is not defined in current scope /usr/include/qt4/QtCore/qglobal.h:2086:” where the line 2086 is:
    Q_DECLARE_TYPEINFO(long double, Q_PRIMITIVE_TYPE);

  3. “make install” installed everything existing into my ROOTSYS

  4. rootcint is unusable - I tried to “cd test” and do “make”, but I got:

rootcint -f EventDict.cxx -c Event.h EventLinkDef.h

*** Break *** segmentation violation

(rootcint is “hanging”, one needs to kill it with a Ctrl-C)

I am stupid. No?
Pepe Le Pew.

I’m sorry, did I say “help”? :-k

[size=200][color=#FF0000]HELP![/color][/size] [-o<

[…] > gdb --args rootcint -f EventDict.cxx -c Event.h EventLinkDef.h
(…)
Reading symbols from /…/v5.28.00.patches/bin/rootcint…(no debugging symbols found)…done.
(gdb) r
Starting program: /…/v5.28.00.patches/bin/rootcint -f EventDict.cxx -c Event.h EventLinkDef.h

Program received signal SIGSEGV, Segmentation fault.
0xb7ae7d26 in G__checkIfOnlyFunction () from /…/v5.28.00.patches/lib/libCint.so.5.28
(gdb) where
#0 0xb7ae7d26 in G__checkIfOnlyFunction () from /…/v5.28.00.patches/lib/libCint.so.5.28
#1 0xb7aeca09 in G__loadfile () from /…/v5.28.00.patches/lib/libCint.so.5.28
#2 0xb7aed67b in G__include_file () from /…/v5.28.00.patches/lib/libCint.so.5.28
#3 0xb7b5f181 in G__pragma () from /…/v5.28.00.patches/lib/libCint.so.5.28
#4 0xb7b26a91 in G__exec_statement () from /…/v5.28.00.patches/lib/libCint.so.5.28
#5 0xb7aecd55 in G__loadfile () from /…/v5.28.00.patches/lib/libCint.so.5.28
#6 0xb7aed67b in G__include_file () from /…/v5.28.00.patches/lib/libCint.so.5.28
#7 0xb7b2b2c5 in G__exec_statement () from /…/v5.28.00.patches/lib/libCint.so.5.28
#8 0xb7aecd55 in G__loadfile () from /…/v5.28.00.patches/lib/libCint.so.5.28
#9 0xb7aed493 in G__include_file () from /…/v5.28.00.patches/lib/libCint.so.5.28
#10 0xb7b2b2c5 in G__exec_statement () from /…/v5.28.00.patches/lib/libCint.so.5.28
#11 0xb7aecd55 in G__loadfile () from /…/v5.28.00.patches/lib/libCint.so.5.28
#12 0xb7ae59a4 in G__main () from /…/v5.28.00.patches/lib/libCint.so.5.28
#13 0x0806bfb2 in main ()
(gdb)

I reconfigured and recompiled v5.28.00.patches with “–build=debug”. ](*,)
It seems that the “dictpos” pointer is NOT initialized.

[…] >gdb --args rootcint -f EventDict.cxx -c Event.h EventLinkDef.h
(…)
Reading symbols from /…/root/v5.28.00.patches.debug/bin/rootcint…done.
(gdb) r
Starting program: /…/root/v5.28.00.patches.debug/bin/rootcint -f EventDict.cxx -c Event.h EventLinkDef.h

Program received signal SIGSEGV, Segmentation fault.
0xb7ac38f9 in G__checkIfOnlyFunction (fentry=10) at cint/cint/src/loadfile.cxx:920
920 G__srcfile[fentry].definedStruct = G__struct.nactives - dictpos->nactives - nSubdefined;
(gdb) where
#0 0xb7ac38f9 in G__checkIfOnlyFunction (fentry=10) at cint/cint/src/loadfile.cxx:920
#1 0xb7ac7549 in G__loadfile (filenamein=0x80ad6d0 “stdfunc.dll”) at cint/cint/src/loadfile.cxx:2372
#2 0xb7ac278b in G__include_file () at cint/cint/src/loadfile.cxx:264
#3 0xb7b41bf5 in G__pragma () at cint/cint/src/pragma.cxx:215
#4 0xb7b09b7e in G__keyword_anytime_7 (statement=…) at cint/cint/src/parse.cxx:4253
#5 0xb7b0d195 in G__exec_statement (mparen=0xbffe95bc) at cint/cint/src/parse.cxx:5452
#6 0xb7ac727d in G__loadfile (filenamein=0x80aa938 “stdio.h”) at cint/cint/src/loadfile.cxx:2272
#7 0xb7ac278b in G__include_file () at cint/cint/src/loadfile.cxx:264
#8 0xb7b10671 in G__exec_statement (mparen=0xbffe9e5c) at cint/cint/src/parse.cxx:6457
#9 0xb7ac727d in G__loadfile (filenamein=0x80a9d20 “Rtypes.h”) at cint/cint/src/loadfile.cxx:2272
#10 0xb7ac271c in G__include_file () at cint/cint/src/loadfile.cxx:255
#11 0xb7b10671 in G__exec_statement (mparen=0xbffea6fc) at cint/cint/src/parse.cxx:6457
#12 0xb7ac727d in G__loadfile (filenamein=0x80a8340 “TObject.h”) at cint/cint/src/loadfile.cxx:2272
#13 0xb7abde24 in G__main (argc=24, argv=0xbfff5ddc) at cint/cint/src/init.cxx:1300
#14 0x08077f3a in main (argc=6, argv=0xbfffeef4) at /…/build/v5.28.00.patches.debug/core/utils/src/rootcint.cxx:4771
(gdb) print nSubdefined
$1 = 0
(gdb) print G__struct.nactives
$2 = 878
(gdb) print dictpos->nactives
Cannot access memory at address 0x38
(gdb) print dictpos
$3 = (G__dictposition *) 0x0
(gdb) print fentry
$4 = 10
(gdb) print G__srcfile[fentry].definedStruct
$5 = 0
(gdb) print G__srcfile[fentry]
$6 = {fp = 0x0, hash = 0, filename = 0x0, prepname = 0x0, breakpoint = 0x0, maxline = 0, dictpos = 0x0, security = 0, included_from = 9, ispermanentsl = 0, initsl = 0x0, hasonlyfunc = 0x0,
definedStruct = 0, hdrprop = 16 ‘\020’, str = 0x0, vindex = 0, parent_tagnum = -1, slindex = 0}
(gdb)

Hi,

just to let you know: I can confirm this bug; I am working on it. Please just sit back and wait, I expect to have it fixed in a few hours.

Cheers, Axel.

Hi,

fixed in r37720!

Cheers, Axel.

It works now. =D> \:D/