Limitation of ACLiC.LinkLibs >= 2?

Dear ROOTers,

I’m seeking help understanding an intermittent build (ACLiC) failure. After many frustrating hours I traced the problem to my use of ACLiC.LinkLibs = 3 (set in ~/.rootrc so reinstalling ROOT from source didn’t help).

So given a simple file such as:

class mt2 {
 public:
  int i;
  mt2() {i=1;}
};

it turns out that when ACLiC.LinkLibs is 2/3, every second build fails:

The build count can be reset by “rm _c”.

By running with gDebug=7 I compared the .rootmap files, and they are a bit different between the failing and successful builds, and it looks a bit suspicious - Working case has:

Failing case has:

Can anyone explain this behavior?
Did I step on some limitation of the rootmaps?
Is there some workaround other than disabling them?
(I enabled them for a reason, though now it seems I can get by without them)

Thanks,
Amnon

Hi Amnon,

Which version of ROOT are you using? I can not reproduce the problem with v5.27/04.

Cheers,
Philippe.

Mostly 5.26/00b (e.g. the lxplus example), but while investigating I upgraded my local installation from 5.26/00b to 5.26/00c, which had no effect.

Hi Amnon,

Indeed, this problem does appear with a ROOT build with explicit linking enabled. This problem is fixed by revision r34724 of the trunk.

To work around the problem do: root [1] .L mt2.c++ root [2] .! rm mt2*.rootmap root [3] .L mt2.c++

Cheers,
Philippe.