Error on cling LoadLibrary

I’m trying to load a compiled library using gSystem->Load(), and I’m getting an error I wasn’t expecting:

cling::DynamicLibraryManager::loadLibrary(): /my/lib.so undefined symbol: _ZN5TROOT14RegisterModuleEPKcPS1_S2_S1_S1_PFvvERKSt6vectorISt4pairISsiESaIS7_EES2_

This appears to correspond to:
TROOT::RegisterModule(char const*, char const**, char const**, char const*, char const*, void (*)(), std::vector<std::pair<std::string, int>, std::allocator<std::pair<std::string, int> > > const&, char const**)

There are various ROOT-derived classes built in this library, along with a dictionary made by rootcling from a LinkDef.

Using ROOT 6.10/08 with GCC 6.2.0.

Any ideas?

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

Apologies for replying only now. The dictionary was likely built with a different version of ROOT. ROOT dictionaries must be rebuilt when switching to a new ROOT version; they are also platform dependent i.e. the dictionary should be build, not checked into the source repository.

Cheers, Axel.