_ROOT Version: 6.23/01
_Platform: Ubuntu 20.04
_Compiler: source from “git clone https://github.com/root-project/root.git”, then compiled using cmake.
hello all,
I am attempting to run a macro (by “$ root MAINmikeIVGQR.C+”) , but I am getting the following error in ROOT, which autoquits directly after the message:
/home/mike/rootinstall/bin/root.exe: symbol lookup error: /home/mike/sn124/ivgqr_sn124/MAINmikeIVGQR_C.so: undefined symbol: _ZN8HindaFitC1EPKcidP4TH1FS3_
I investigated the PATH and LD_LIBRARY_PATH and they both seem to go to the correct locations (with no old ROOT directories present):
"echo $PATH" -> ..... /rootinstall/bin
"echo $LD_LIBRARY_PATH" -> ....... /rootinstall/lib
i have gcc v7.5.0 and g++ v9.3.0
any help would be greatly appreciated!
-Mike
Hi @chevalierm ,
and welcome to the ROOT forum!
Hi, c++filt _ZN8HindaFitC1EPKcidP4TH1FS3_ returns HindaFit::HindaFit(char const*, int, double, TH1F*, TH1F*): that’s the symbol the linker does not find. That does not seem to be a ROOT method, so it seems like you are not linking your program against some library it depends on (namely the one that contains HindaFit::HindaFit).
Cheers,
Enrico
EDIT: ah, you are running the code through the ROOT interpreter. Then you might need to gSystem->Load("yourlibrary.so") where "yourlibrary.so" is the one that contains HindaFit::HindaFit.
(I would like to preface my saying I am a newbie so plase bear with me…)
-
Thank you for the response! Not only a response, but an extremely quick one!
-
I believe I have found the library you are referencing (i am assuming it is HindaFit_C.so), but when I runthe gSystem command above, I get the following error:
"bash: syntax error near unexpected token `(’ "
Hi @chevalierm ,
not problem. The command should be put inside MAINmikeIVGQR.C.
Cheers,
Enrico
created a separate .C file with your above statement in it, it worked!
thank you so much!