------------------------------------------------------------
| Welcome to ROOT 6.08/02 http://root.cern.ch |
| (c) 1995-2016, The ROOT Team |
| Built for linuxx8664gcc |
| From tag v6-08-02, 2 December 2016 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------
I am trying to install TMVA package by following the installation guide on twiki.cern.
I have downloaded and unzipped the TMVA package, then, as it is said on twiki, I typed in TMVA directory make and then, after several minutes of installation, I have the following errors:
Compiling src/KDEKernel.cxx ... src/KDEKernel.cxx: In function ‘Double_t GaussIntegral(Double_t*, Double_t*)’:
src/KDEKernel.cxx:94:30: error: ‘Erf’ is not a member of ‘TMath’
if (xs2>0 ) return 0.5*TMath::Erf(xs2);
^
src/KDEKernel.cxx:96:27: error: ‘Erf’ is not a member of ‘TMath’
if (xs2==0) return 0.5*TMath::Erf(TMath::Abs(xs1));
^
src/KDEKernel.cxx:97:27: error: ‘Erf’ is not a member of ‘TMath’
if (xs1>0) return 0.5*(TMath::Erf(xs2)-TMath::Erf(xs1));
^
src/KDEKernel.cxx:97:43: error: ‘Erf’ is not a member of ‘TMath’
if (xs1>0) return 0.5*(TMath::Erf(xs2)-TMath::Erf(xs1));
^
src/KDEKernel.cxx:99:31: error: ‘Erf’ is not a member of ‘TMath’
if (xs2>0 ) return 0.5*(TMath::Erf(xs2)+TMath::Erf(TMath::Abs(xs1)));
^
src/KDEKernel.cxx:99:47: error: ‘Erf’ is not a member of ‘TMath’
if (xs2>0 ) return 0.5*(TMath::Erf(xs2)+TMath::Erf(TMath::Abs(xs1)));
Solution to the problem described above:
I simply renamed several math functions (by removing TMath, adding std, and so on).
After this, I also had to remove a couple of lines from other files, hoping they don’t interact with anything important.
Now I have everything running and I think that I can offer an overview on the situation. I hope it’ll be of use both for future reference of others and as feedback to the ROOT and TMVA teams.
tl;dr: The TMVA Users Guide is outdated : )
Why do people try to download TMVA on their own?
So, I got the hint to the overall solution from this thread: TMVA installation with ROOT6
Both in that thread and in the present thread, you can read users insisting to download TMVA themselves, developers keep replying that it is included in standard ROOT already, and users keep acting confused and continuing to download themselves.
Why do we keep trying to download on our own? Because the Users Manual says that after a normal ROOT installation, TMVA should be found under $ROOTSYS/tmva/test/, but this is not valid anymore.
Ergo, we look at this path, find it empty, and think that the installation went wrong.
Where is TMVA found in the current standard ROOT installation?
The provided scripts are in $ROOTSYS/tutorials/tmva. Again, I got hinted from TMVA installation with ROOT6
However, note that TMVA can be run from any path.
What happened to TMVAGui.C?
It can be run in this way: TMVAGui in Root 6
Please note that this is another factor adding to the confusion: TMVAGui.C is heavily referenced, but it doesn’t exist in the standard ROOT installation anymore.