I have a number of libraries containing custom classes for use in the ROOT framework. They are contained in a contained in a directory ($HOME/.local/lib/), together with their *_rdict.pcm files.
However, when I try to load these (either automatically or manually) with
gROOT->ProcessLine(".L path_to_library.dylib")
I get the message
Error in <TCling::LoadPCM>: ROOT PCM <root_build_directory/bin/library_rdict.pcm> file does not exist
As I understand it, the *_rdict.pcm file should be either in the same file as the library (which it is), or in the LD_LIBRARY_PATH. The directory containing both the *_rdict.pcm file and the library is in both LD_LBIRARY_PATH and DYLD_LIBRARY_PATH.
I’m not sure why ROOT seems to be looking in the root build directory bin folder for the pcm file. Is there a way to correct this behavior and direct ROOT to search the correct directory?
Indeed, xxx_rdict.pcm files should be located either in the same directory or LD_LIBRARY_PATH. See also related forum topic: Cannot find my rdict.pcm files.
Thanks for the reply @jalopezg. I saw the post you linked - this is one of the reasons as I’m confused as the error message would suggest that ROOT isn’t looking in either of those places. In fact, I still get the errors when I run root in the directory where the libraries are stored.