GSI Helmholtzzentrum für Schwerionenforschung
Error: dlopen error when running the root macro to execute MC
Dear everybody, I came across the problem when I tried to run the simulation for detector LMD. The error message was listed below: **************************************************************** root [0] Processing gconfig/rootlogon.C... - RTDB container factory FairBaseContFact - RTDB container factory PndFieldContFact - RTDB container factory PndPassiveContFact PSaid instance created... access via gSaid->f() - RTDB container factory PndRpcContFact dlopen error: /home/huagen/fairroot/cbuild/lib/libLmd.so: undefined symbol: _ZTI9PndLmdGeo Load Error: Failed to load Dynamic link library /home/huagen/fairroot/cbuild/lib/libLmd.so (int)(-1) *** Interpreter error recovered *** root [1] ***************************************************************** Several things could be confirmed: 1. The class PndLmdGeo was definitely defined. 2. The class PndLmdGeo was invoked in the class PndLmd, the header file was included in the PndLmd.h file 3. The libLmd.so was created in the Cbuild/lib after compilation. Would you give some hints for this troubleshooting? Attached is the code for your information. Best Regards! Huagen Xu IKP, Forschungszentrum Juelich
Re: Error: dlopen error when running the root macro to execute MC
Hello Huagen Xu, For me it looks like you need to add the class into your *linkdef.h file. It would be a good strategey to submit the code into the development branch of the repository. It is not required to compile or anything there. Which detector is the LMD? Greetings from Torino, Ralf.
Dear Ralf, Thanks for your reply. I found the problem now. This error was caused by grammer mistake. The default destructor "~PndLmdGeo()" was declared in the header file but not defined. The correct format shall be "~PndLmdGeo(){}" in the header file. But I missed "{}" sign before. By the way the Lmd the short of Luminosity monitor detector. I am trying to creat a new geometry for luminosity detector. Thanks! Huagen Xu