Root 5.19.04

Does ROOT team still support g++ 3.2.3 ? I cannot compile ROOT 5.19.04.

No we do not support this compiler anymore.
If you provide simple fixes (if they are not many) we can consider patching the source with them.

Rene

[quote]No we do not support this compiler anymore.
If you provide simple fixes (if they are not many) we can consider patching the source with them.

Rene[/quote]

Hi, Rene.

Fixes are trivial (in fact, that’s a bug in g++ 3.2.3) - just change the place of some declarations.

Should I prepare diff or describe the place of fixes?

send me the diff file with respect to current SVN trunk

Rene

[quote]send me the diff file with respect to current SVN trunk

Rene[/quote]

Well, in fact it’s an interesting problem : combination of g++ bug + ill-formed code in Minuit2. I’ll send fix for g++ bug as soon as I compile SVN trunk.
C++ correctness must be fixed by author, I guess.

The problem in Minuit2 has been probably already fixed by Philippe in the trunk, see:
root.cern.ch/viewcvs?rev=23879&r … t&view=rev

Lorenzo

[quote]The problem in Minuit2 has been probably already fixed by Philippe in the trunk, see:
root.cern.ch/viewcvs?rev=23879&r … t&view=rev

Lorenzo[/quote]

Yes, right, it’s fixed in the trunk. Another problem will appear if you try to instantiate templated ctor:

template<class MI1, class MI2>
ABSum(const ABSum<MI1,MI2>& sum) : fA(M1(sum.fA)), fB(M2(sum.fB)) {}

Here is ABSum<M1, M2> can be not the same class as ABSum<MI1, MI2> and does not have access to sum.fA or sum.fB.

Yes, you are right, this constructor was probably never instantiated.
The fix is easy,

template<class MI1, class MI2> 
ABSum(const ABSum<MI1,MI2>& sum) : fA(M1(sum.A())), fB(M2(sum.B())) {} 

I will apply now in the trunk

Thank you

Lorenzo