.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
echo $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?

Cheers,
Marta

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?

Best,
D

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