Error in <TPluginManager::FindHandler>

Dear all,

I have a program which is using ROOT without problem.
I decided to make a tar ball of this program i.e a folder where everything needed by my program are (and particularly all the ROOT libs).
I made a ldd of my bin and copy all the libraries.
I just export the LD_LIBRARY_PATH to include the path of my lib copied.
When I execute my program I have this error:

Error in TPluginManager::FindHandler: Cannot find plugin handler for TVirtualStreamerInfo! Does $ROOTSYS/etc/plugins/TVirtualStreamerInfo exist?

If I copyTVirtualStreamerInfo to my folder (with /etc/plugins/ tree structure) and export my ROOTSYS variable this doesn’t change anything.

Does anyone have an idea of what I missed ? :unamused:
By advance thank you
Olivier Dadoun

Did you also copy the rootmap files in $ROOTSYS/lib ?

Rene

Hello Rene,

I copied .rootmap (associated to the root libs needed), as you suggested,
but I have the same error :frowning:
Olivier

I googolized TVirtualStreamerInfo and found at this url
article.gmane.org/gmane.comp.lan … .root/9069
the solution…
I put those following lines in my main program

/* magic line from Rene - for future reference! /
gROOT->GetPluginManager()->AddHandler(“TVirtualStreamerInfo”,
"
",
“TStreamerInfo”,
“RIO”,
“TStreamerInfo()”);

and now it working perfectly
:stuck_out_tongue:

cheers
Olivier Dadoun

[quote]If I copyTVirtualStreamerInfo to my folder (with /etc/plugins/ tree structure) and export my ROOTSYS variable this doesn’t change anything.

I put those following lines in my main program … and now it working perfectly [/quote]Humm this must mean that the etc/plugins directory has not been copied in the right place (and/or that you are using a static build). The ‘right’ place depends on whether or not you used the --prefix option when running configure.

Cheers,
Philippe.

Philippe,

It is likely that Olivier is using a static build.

Rene

Hello,

I also have the exact same error.

I am fairly sure that I am using a non static build of root, without prefix set.

I create a tarball of root and my application and when I run it on another machine I get the same error
Error in TPluginManager::FindHandler: Cannot find plugin handler for TVirtualStreamerInfo! Does $ROOTSYS/etc/plugins/TVirtualStreamerInfo exist?

I have this folder $ROOTSYS/etc/plugins/TVirtualStreamerInfo

Any hints ?

Adding the gROOT-> and so on solves the problem, but is there a way without adding this?

Thanks.

Hi,

The only explanation I could think of are that you either have not copied the etc directory or that the variable ROOTSYS is not pointing to the directory where you copied it or that you do not have right permission in the direction or that you did use the --prefix configuration switch.

Philippe.

Hi,
Here is the config.status that was used to compile root:

sailer@pccds03:/data/sailer/root/5.26.00$ cat config.status
–enable-minuit2 --enable-soversion --disable-rpath
–with-gsl-incdir=/data/sailer/software/ilcsoft/v01-08/gsl/1.8/include/
–with-gsl-libdir=/data/sailer/software/ilcsoft/v01-08/gsl/1.8/lib/

I’m certain that either ROOTSYS and etc are set and present. As where I copied it is my own directory, I should also have the rights.

Thanks.

Hi,

I can not reproduce the problem. Can you send a tar file of your “built” root directory?

Cheers,
Philippe.

Hi Philippe,

Stephane and I solved the issue.

It was either an incomplete recompilation of ROOT (i.e. not doing make clean before), where some “–prefix” issue was still there and/or we forgot to add ROOT/lib to LD_LIBRARY_PATH.

It is working now.

Thanks,
André