Symbol lookup error : undefined symbol for IVGQR

_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…)

  1. Thank you for the response! Not only a response, but an extremely quick one!

  2. 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!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.