.pcm file load path

ROOT version: 6.24/06
Platform: Debian 10 (buster) singularity container on native Debian 11 5.10.0-21-amd64
Compiler: from source, unknown

I have an application which requires I/O of custom classes to a ROOT file. I make a ROOT dictionary using rootcling in a GNU Makefile and use the dictionary to create a shared library. The program which writes to a ROOT file links the object file generated from the ROOT dictionary, it does not load the library. Once built, everything is installed in some top-level install directory: executables in /bin, libraries, rootmap and pcm files in /lib, headers in /include.

If I run the installed code, I see the following:

Error in TCling::LoadPCM: ROOT PCM /user/chester/ddastoys/bin/DDASRootFit_rdict.pcm file does not exist
Info in TCling::LoadPCM: In-memory ROOT PCM candidate /usr/opt/root/root-6.24.06/lib/libASImageGui_rdict.pcm
Info in TCling::LoadPCM: In-memory ROOT PCM candidate /usr/opt/root/root-6.24.06/lib/libASImage_rdict.pcm
Info in TCling::LoadPCM: In-memory ROOT PCM candidate /usr/opt/root/root-6.24.06/lib/libEG_rdict.pcm

More in-memory candidates

This error is correct - the file it is looking for is /user/chester/ddastoys/lib/DDASRootFit_rdict.pcm. I have found two other forum posts which suggest that LD_LIBRARY_PATH is searched for .pcm files (Cannot find my rdict.pcm files and gSystem->Load problem pcm files not found). I can:

export LD_LIBRARY_PATH=/user/chester/ddastoys/lib:$LD_LIBRARY_PATH

and verify that /user/chester/ddastoys/lib is in the LD_LIBRARY_PATH. This does not fix the error. If I symlink the .pcm file in the /bin directory, the code runs without warnings.

Any help would be appreciated.

Hi @chestera,

welcome to the root forum. Maybe @Axel could help here?


Hi Chester,

Apologies for coming back to you after a while. In case the problem is not fixed yet, could you post the recipe with which you built and installed root?


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