You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compact INFO ++ Converted subdetector:Tube of type DD4hep_Beampipe_o1_v01
Compact ERROR FAILED subdetector:QD0_cryostat of type TubeSupport_o1_v01
PluginService ERROR Factory requested: TubeSupport_o1_v01 (N10__cxxabiv120__function_type_infoE) :bad any_cast
PluginService ERROR Stub is invalid!
Compact ERROR ++ FAILED to convert subdetector: QD0_cryostat: Failed to execute subdetector creation plugin. No factory with name Create(TubeSupport_o1_v01) for type TubeSupport_o1_v01 found.
Please check library load path and/or plugin factory name.
****************************************************
* A runtime error has occured :
* Failed to execute subdetector creation plugin. No factory with name Create(TubeSupport_o1_v01) for type TubeSupport_o1_v01 found.
Please check library load path and/or plugin factory name.
* the program will have to be terminated - sorry.
****************************************************
but my plugins from LCEve are found correctly.
It seems that my thislceve.sh hides the environement of lcgeo. As a confirmation, from a new shell, if I switch the file source commands, the geometry is correctly loaded but my plugins are not found.
I looked my environment and found that LD_LIBRARY_PATH in the first case (lcgeo then lceve source) is set to the following:
DD4hep library path is set twice. /home/ilc/dev/install/ is the install prefix for LCEve.
Now comes the strange fact: if I remove the last DD4hep library path, i.e:
What I'm trying to do
I'm developing an event display package based on DD4hep and ROOT Eve7 experimental web event display.
See https://github.com/rete/LCEve
To make it modular I use the plugin mechanism of DD4hep to load LCIO collection converters.
I have successfully:
add_dd4hep_plugin()
thislceve.sh
using the CMake functiondd4hep_instantiate_package( lceve )
LCEventDisplay
that is looking for a set of plugins usingdd4hep::PluginService::Create()
Important point: I'm using lcgeo to load our standard ILD geometry for the display (ILD_l5_v02).
The issue
To run my event display I execute the following:
The program fails while loading the geometry:
but my plugins from LCEve are found correctly.
It seems that my
thislceve.sh
hides the environement of lcgeo. As a confirmation, from a new shell, if I switch the file source commands, the geometry is correctly loaded but my plugins are not found.I looked my environment and found that LD_LIBRARY_PATH in the first case (lcgeo then lceve source) is set to the following:
DD4hep library path is set twice.
/home/ilc/dev/install/
is the install prefix for LCEve.Now comes the strange fact: if I remove the last DD4hep library path, i.e:
export LD_LIBRARY_PATH=/home/ilc/dev/install/lib:/home/ilc/root/install/lib:/home/ilc/lcgeo/lib:/home/ilc/DD4hep/lib:/home/ilc/python/lib
then everything works perfectly.
Summary:
The text was updated successfully, but these errors were encountered: