Hi
I have created a TTree *T in a program that compiles and executes outside of CINT.
The tree is created with splitlevel = 1. The TTree itself seems to work fine.
I can create the MyClass.C and MyClass.h
root [1] .L lib.so
root [2] T->MakeClass("MyClass")
Info in <TTreePlayer>: Files: MyClass.h and MyClass.C generated from TTree: T
(Int_t)0
Then the following happens in the next step
root [3] .L MyClass.C
Warning: *b_PhysicalEventData_MedEvent Syntax error?? MyClass.h:91:
Warning: *b_PhysicalEventData_CDfen Syntax error?? MyClass.h:92:
Warning: *b_PhysicalEventData_CDben Syntax error?? MyClass.h:93:
Warning: *b_PhysicalEventData_CDen Syntax error?? MyClass.h:94:
Warning: *b_PhysicalEventData_CDsec Syntax error?? MyClass.h:95:
Warning: *b_PhysicalEventData_CDann Syntax error?? MyClass.h:96:
Warning: *b_PhysicalEventData_CDtdiff Syntax error?? MyClass.h:97:
Warning: *b_PhysicalEventData_cen Syntax error?? MyClass.h:98:
Warning: *b_PhysicalEventData_ct Syntax error?? MyClass.h:99:
.
.
.
It looks to me like the lib.so wasnt properly loaded(?).
I try to move on, and
root [1] MyClass j
Warning in <TClass>: no dictionary for class PhysicalEvent is available
Warning in <TClass>: no dictionary for class Statistics is available
Warning in <TClass>: no dictionary for class RawData is available
root [2] j.Loop()
*** Break *** segmentation violation
Generating stack trace...
0xb6ef3e81 in <unknown> from /usr/local/root/lib/libTree.so
0xb763f516 in G__ExceptionWrapper + 0x42 from /usr/local/root/lib/libCint.so
0xb76e5e5a in G__call_cppfunc + 0x2fa from /usr/local/root/lib/libCint.so
0xb76d3ebb in G__interpret_func + 0x85d from /usr/local/root/lib/libCint.so
0xb76bcdb8 in G__getfunction at v6_func.cxx:0 from /usr/local/root/lib/libCint.so
0xb7752b43 in G__getstructmem + 0xab9 from /usr/local/root/lib/libCint.so
0xb774a4a3 in G__getvariable at v6_var.cxx:0 from /usr/local/root/lib/libCint.so
0xb76b261e in G__getitem at v6_expr.cxx:0 from /usr/local/root/lib/libCint.so
0xb76b0c16 in G__getexpr at v6_expr.cxx:0 from /usr/local/root/lib/libCint.so
0xb7699525 in G__define_var + 0x2571 from /usr/local/root/lib/libCint.so
0xb7739739 in G__defined_type + 0x585 from /usr/local/root/lib/libCint.so
0xb7705cfe in G__exec_statement at v6_parse.cxx:0 from /usr/local/root/lib/libCint.so
0xb76d5a6a in G__interpret_func at v6_ifunc.cxx:0 from /usr/local/root/lib/libCint.so
0xb76bcdb8 in G__getfunction at v6_func.cxx:0 from /usr/local/root/lib/libCint.so
0xb7752b43 in G__getstructmem + 0xab9 from /usr/local/root/lib/libCint.so
0xb774a4a3 in G__getvariable at v6_var.cxx:0 from /usr/local/root/lib/libCint.so
0xb76b261e in G__getitem at v6_expr.cxx:0 from /usr/local/root/lib/libCint.so
0xb76b0c16 in G__getexpr at v6_expr.cxx:0 from /usr/local/root/lib/libCint.so
0xb76feda0 in G__exec_function + 0x1de from /usr/local/root/lib/libCint.so
0xb7706ba7 in G__exec_statement at v6_parse.cxx:0 from /usr/local/root/lib/libCint.so
0xb7693749 in G__exec_tempfile_core + 0x351 from /usr/local/root/lib/libCint.so
0xb76939e4 in G__exec_tempfile_fp + 0x22 from /usr/local/root/lib/libCint.so
0xb770f7d1 in G__process_cmd + 0x4b2b from /usr/local/root/lib/libCint.so
0xb7a5dd80 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) + 0x13c from /usr/local/root/lib/libCore.so
0xb799cb9b in TApplication::ProcessLine(char const*, bool, int*) + 0x621 from /usr/local/root/lib/libCore.so
0xb6c4b82e in TRint::HandleTermInput() + 0x1f8 from /usr/local/root/lib/libRint.so
0xb6c4a3c2 in TTermInputHandler::Notify() + 0x24 from /usr/local/root/lib/libRint.so
0xb6c4c34a in TTermInputHandler::ReadNotify() + 0x12 from /usr/local/root/lib/libRint.so
0xb7ae8dbe in TUnixSystem::CheckDescriptors() + 0x148 from /usr/local/root/lib/libCore.so
0xb7ae7ced in TUnixSystem::DispatchOneEvent(bool) + 0x17b from /usr/local/root/lib/libCore.so
0xb7a18214 in TSystem::InnerLoop() + 0x18 from /usr/local/root/lib/libCore.so
0xb7a181b3 in TSystem::Run() + 0x7b from /usr/local/root/lib/libCore.so
0xb799d3a6 in TApplication::Run(bool) + 0x32 from /usr/local/root/lib/libCore.so
0xb6c4b273 in TRint::Run(bool) + 0x421 from /usr/local/root/lib/libRint.so
0x08048e1d in main + 0x71 from /usr/local/root/bin/root.exe
0xb6a21e80 in __libc_start_main + 0xd0 from /lib/tls/libc.so.6
0x08048d11 in TApplicationImp::ShowMembers(TMemberInspector&, char*) + 0x3d from /usr/local/root/bin/root.exe
Root > Function Loop() busy flag cleared
This is all done a SuSe Linux machine with ROOT Version 5.08/00.
Can anyone help me with this. Perhaps at which level the problem is? My code where I make the Tree or in ROOT.
I will start now and try to get a small piece of code that will reproduce the problem. But while doing that someone might see the problem or have had a similar experience?!
I have a second question. I try to do the same on my Mac OSX 10.4.6 with ROOT Version 5.10/00c to see if it works there
But then I cant event load lib.so (the file is created on the Linux machine)
root [0] .L lib.so
dlopen error: dlopen(/Users/andreasekstrom/Documents/DataAnalys/IS418041027/rootfiles/./lib.so, 9): no suitable image found. Did find:
/Users/andreasekstrom/Documents/DataAnalys/IS418041027/rootfiles/./lib.so: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x01 0x01 0x01 0x00
Load Error: Failed to load Dynamic link library /Users/andreasekstrom/Documents/DataAnalys/IS418041027/rootfiles/./lib.so
*** Interpreter error recovered ***
root [1]
So, is it in general not a good idea to use a library on machines where it hasnt been compiled, and especially try to use Linux *.so on a Mac OSX *.so ?
Best Regards
Andreas