Hi, maybe this is a trivial problem (and has been treated already): I just build root from CVS yesterday on an rh61/i386 system (Version 3.01/00 / 4 May 2001) doing configure linuxegcs make ; make install ; make cintdlls (where ROOTSYS was set to the root source directory, i.e. make install said that there is nothing to install). the stl dlls are then in $ROOTSYS/cint/stl/ Now I try to generate a dictionary from Test.C: #include <set> #include <pair> class Test { public: set<int,pair<int,int> > foo(); }; with the command: rootcint -f Test_dict.C -c Test.C however, it seems that there is some infinite recursion. Running rootcint in gdb I get what looks like a stack overflow: Program received signal SIGSEGV, Segmentation fault. 0x4036d913 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll (gdb) bt #0 0x4036d913 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #1 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #2 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #3 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #4 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #5 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #6 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #7 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #8 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #9 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #10 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #11 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #12 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #13 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #14 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #15 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #16 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #17 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 #18 0x4036d932 in __builtin_new () from /tmp/ah/root/cint/stl/multiset.dll #19 0x402281dc in __builtin_vec_new (sz=5) from /usr/lib/libstdc++-libc6.1-1.so.2 ... (in fact on other machines, rootcint easily starts eating up >=100 MB RAM, I tracked it down to a new [...] statement in StrDup, however, the size was something like 16 characters to be allocated. It's probably just the first call to new...) Moving the dlls out of $ROOTSYS/cint/stl/ seems to cure this problem, i.e. I guess that rootcint tries to load the dlls for generating the dictionary of Test.C ? What is the recommended way of building and installing the stl dlls for cint/root ? best regards & thanks, André -- ------------------+---------------------------------- Andre Holzner | +41 22 76 76750 Bureau 32 2-C13 | Building 32 CERN | Office 2-C13 CH-1211 Geneve 23 | http://wwweth.cern.ch/~holzner/
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:44 MET