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 ?
By advance thank you
Olivier Dadoun
/* magic line from Rene - for future reference! /
gROOT->GetPluginManager()->AddHandler(“TVirtualStreamerInfo”,
"",
“TStreamerInfo”,
“RIO”,
“TStreamerInfo()”);
[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.
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?
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.
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.