How to use Reflex?

Hi,

how can I use the Reflex system in ROOT 5.14/00b? I compiled it with Reflex support but it doesn’t seem to find the namespace:

root [0] gSystem->Load("libReflex.so"); root [1] using namespace ROOT::Reflex Error: namespace ROOT::Reflex is not defined (tmpfile):1: *** Interpreter error recovered ***

Am I missing something? I read the corresponding chapter of the users guide but couldn’t find anything helpful there either.

Thanks,
Frank

Hi,

we don’t distribute a dictionary for reflex yet. If you have the root sources you can run make check-reflex. That will build the reflex based dictionary for reflex, which you can load into root with gSystem->Load("libCintex"); Cintex::Enable(); gSystem->Load("libtest_ReflexRflx"); using namespace ROOT::Reflex;
Cheers, Axel.

Hi,

in the meantime I switched to root 5.15.08 and I am now trying to generate the reflex dictionary for root but it fails with this error:

/opt/root/root_v5.15.08-src # make check-reflex
g++ -O2 -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -c reflex/test/Reflex_rflx.cpp -o reflex/test/Reflex_rflx.o
reflex/test/Reflex_rflx.cpp:543: error: expected class-name before ‘{’ token
reflex/test/Reflex_rflx.cpp: In function ‘void::__ROOT__Reflex__RuntimeError_dict()’:
reflex/test/Reflex_rflx.cpp:966: error: ‘NONE’ was not declared in this scope
reflex/test/Reflex_rflx.cpp:967: error: expected primary-expression before ‘void’
reflex/test/Reflex_rflx.cpp:967: error: expected `;’ before ‘void’
reflex/test/Reflex_rflx.cpp: In function ‘void::__ROOT__Reflex__Any__Holder_constscharp__dict()’:
reflex/test/Reflex_rflx.cpp:1095: error: ‘NONE’ was not declared in this scope
reflex/test/Reflex_rflx.cpp: At global scope:
reflex/test/Reflex_rflx.cpp:952: warning: ‘void*::method_x12(void*, const std::vector<void*, std::allocator<void*> >&, void*)’ defined but not used
make: *** [reflex/test/Reflex_rflx.o] Error 1

Here is my system configuration:

uname -a
Linux winki 2.6.18.8-0.3-default #1 SMP Tue Apr 17 08:42:35 UTC 2007 i686 i686 i386 GNU/Linux

gcc --version
gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)

Thanks for any help,
Frank