I ran into a very strange issue today. While trying to debug something else, I noticed that when I build a shared library that has dictionaries for some very simple types, I'm unable to make interactive ROOT find these types automatically. Attached is a simple example.
When I build the code, I get a rootmap file with this exact content:
But if I try to use MyTestClass in an interactive ROOT session, that doesn't work.
Looking a bit closer at it, I see the following:
Something is clearly very broken here... It took a while before I could find a way to "fix" the issue. Turns out, if I add one empty line at the beginning of libMyTestLibrary.rootmap, then everything starts working. (Please try it.)
Note that as soon as there library is "more complicated", like if there's a namespace in it, then the formatting of the rootmap file changes such that it becomes "parseable". That's why I didn't run into this issue before. But clearly it's a very serious problem if we can't build such simple libraries...