Dictionary module “xxx.pcm” missed in ROOT 6.18.00

I’m the one asking the same question, but my last topic was automatically closed. So I have to new a topic to reply.
For this:


There are no renaming steps.

Can you rename by hand StcfMCEventDict_rdict.pcm to libStcfMCEvent_rdict.pcm. I presume both are in the same folder. This way we will check if that resolves the error.

Could you paste the rootcling/genreflex invocation which creates StcfMCEventDict_rdict.pcm?

Renaming was seemed useless.

To generate the dictionary, I used:
rootcint -f StcfMCEventDict.cc -c StcfMCEvent.h StcfMCEventLinkDef.h

Okay, the rdict file is named after the input file, that should be Ok. Do you have a file /home/lihe/test/Sim_test/InstallArea/Linux-x86_64/lib/libStcfMCEvent.rootmap, /home/lihe/test/Sim_test/InstallArea/Linux-x86_64/lib/libStcfMCEvent.so and /home/lihe/test/Sim_test/InstallArea/Linux-x86_64/lib/StcfMCEventDict_rdict.pcm?

Can you paste the link command of the libStcfMCEvent.so?

Yes, I do have all three files in a directory.
I’m not sure what’s the link command, so I paste the cpp flags and link options:

I am really puzzled because all seems correct and yet you get an error.

As a workaround could you try adding the the -s option to your rootcint command: rootcint -f StcfMCEventDict.cc -s StcfMCEvent.so -c StcfMCEvent.h StcfMCEventLinkDef.h

Is there a way to build your code on my local machine?

Sure.
I will upload the source code.StcfMCEvent.tar.gz (82.6 KB)

Moreover, I found some memory leak in TCling and TClass.

Thanks, those leaks were fixed on Jan 30 https://github.com/root-project/root/commit/c4406722ec0a06a50170381ead28bf46f357bac8

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