Dictionary module "xxx.pcm" missed in ROOT 6.18.00

I used root to produce dictionary and everything is ok in ROOT 6.13.06. But in ROOT 6.18.00 came some errors like:

But the more strange thing is that it could correctly create and read TObjects, with these errors. It also seemed correct when opening the root file using ROOT directly.

Which OS? Which compiler?

Scientific Linux6 and GNU 6.20

It looks like a module issue… Maybe @oshadura has an idea

6.18 is still using PCH, so it is not modules issue. @Axel @vvassilev can you remind please how it should be working in case of PCH?

The rdict is mostly an optimization data structure. It should not affect correctness.

Is any of those rdict.pcm files a symlink, the realpath of the library and the rdict.pcm different?

The path picture showed is the “install path”, include the copy of libraries and pcms. The original path of library and pcm are different, but they are in the same install path.
By the way, I did it in this way with ROOT 6.13.06 and it was no error.

ROOT v6.18 has enforced better consistency between .so files and rdict files. The rdict files should be in the same location where the library is and should have the same name as the library but ending with _rdict.pcm.

Can you tell us the output of realpath some/path/to/StcfMCHeaderDict_rdict.pcm,realpath some/path/to/libStcfMCEvent.so and realpath some/path/to/libStcfMCEvent_rdict.pcm?

As a new user, I can only use one picture. Sorry about that.

Well, the rootcling produce pcm files in the path"/home/lihe/workarea/StcfMCEvent/src"

The .so was produced in the path “/home/lihe/workarea/StcfMCEvent/Linux-x86_64”

The .so and .pcm had a copy in the path “/home/lihe/workarea/InstallArea/Linux-x86_64/lib”
image

There is no file named “libStcfMCEvent_rdict.pcm”

Okay, so one thing to try is to try putting the rdict files next to the so files.

Is there a file called StcfMCEvent_rdict.pcm.

EDIT: sorry, there seems to be StcfMCEvent_rdict.pcm file. Could you try renaming it to libStcfMCEvent_rdict.pcm following the name of the library?

Renaming to libStcfMCEvent_Rdict.pcm still has this error message.

Let’s start simple. Can you remove the installation first and see if the error persists. If it still persists then could you export ROOTDEBUG=7 in the terminal before running root and attach the output?

It still persisted after removing installation.
Here is the log info under debug level7

Could you attach the actual text file?

Here it is.
log.txt (688.2 KB)

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

Is this solved, @vvassilev ?

No, it got deeper in the stack.

@whyellowbred, the library seems to be called libStcfMCEvent.so and the rdict.pcm StcfMCEventDict_rdict.pcm. Is there a rename step say from StcfMCEventDict.so to libStcfMCEvent?