Hey guys, I’m extremely inexperienced at coding, and even more so when it comes to Linux/Ubuntu (just created a Ubuntu GNOME partition less than a week ago). I’m wondering if anyone is able to help me.
The problem I’m having is making TMVA. I’ve downloaded Root v5.34.19 source, unpacked it, installed the required packages, and everything seems to be running smoothly, as I get no errors when I type in “root” into terminal.
However, when I try to follow the instructions for making TMVA, I get a lot of errors. (important stuff is near the bottom)
jeffrey@jjiOverlord:~/root/tmva$ make
Building Volume.d ... Done
Building VariableTransformBase.d ... Done
Building VariableRearrangeTransform.d ... Done
Building VariablePCATransform.d ... Done
Building VariableNormalizeTransform.d ... Done
Building VariableInfo.d ... Done
Building VariableIdentityTransform.d ... Done
Building VariableGaussTransform.d ... Done
Building VariableDecorrTransform.d ... Done
Building Types.d ... Done
Building TSynapse.d ... Done
Building TSpline2.d ... Done
Building TSpline1.d ... Done
Building TransformationHandler.d ... Done
Building Tools.d ... Done
Building TNeuronInputSum.d ... Done
Building TNeuronInputSqSum.d ... Done
Building TNeuronInput.d ... Done
Building TNeuronInputChooser.d ... Done
Building TNeuronInputAbs.d ... Done
Building TNeuron.d ... Done
Building Timer.d ... Done
Building TActivationTanh.d ... Done
Building TActivationSigmoid.d ... Done
Building TActivationRadial.d ... Done
Building TActivationIdentity.d ... Done
Building TActivation.d ... Done
Building TActivationChooser.d ... Done
Building SVWorkingSet.d ... Done
Building SVKernelMatrix.d ... Done
Building SVKernelFunction.d ... Done
Building SVEvent.d ... Done
Building SimulatedAnnealingFitter.d ... Done
Building SimulatedAnnealing.d ... Done
Building SeparationBase.d ... Done
Building SdivSqrtSplusB.d ... Done
Building RuleFitParams.d ... Done
Building RuleFit.d ... Done
Building RuleFitAPI.d ... Done
Building RuleEnsemble.d ... Done
Building Rule.d ... Done
Building RuleCut.d ... Done
Building RootFinder.d ... Done
Building ResultsRegression.d ... Done
Building ResultsMulticlass.d ... Done
Building Results.d ... Done
Building ResultsClassification.d ... Done
Building RegressionVariance.d ... Done
Building Reader.d ... Done
Building Ranking.d ... Done
Building QuickMVAProbEstimator.d ... Done
Building PDF.d ... Done
Building PDEFoamVect.d ... Done
Building PDEFoamTargetDensity.d ... Done
Building PDEFoamTarget.d ... Done
Building PDEFoamMultiTarget.d ... Done
Building PDEFoamKernelTrivial.d ... Done
Building PDEFoamKernelLinN.d ... Done
Building PDEFoamKernelGauss.d ... Done
Building PDEFoamKernelBase.d ... Done
Building PDEFoamEventDensity.d ... Done
Building PDEFoamEvent.d ... Done
Building PDEFoamDiscriminantDensity.d ... Done
Building PDEFoamDiscriminant.d ... Done
Building PDEFoamDensityBase.d ... Done
Building PDEFoamDecisionTreeDensity.d ... Done
Building PDEFoamDecisionTree.d ... Done
Building PDEFoam.d ... Done
Building PDEFoamCell.d ... Done
Building Option.d ... Done
Building OptimizeConfigParameters.d ... Done
Building Node.d ... Done
Building MsgLogger.d ... Done
Building ModulekNN.d ... Done
Building MisClassificationError.d ... Done
Building MinuitWrapper.d ... Done
Building MinuitFitter.d ... Done
Building MethodTMlpANN.d ... Done
Building MethodSVM.d ... Done
Building MethodRuleFit.d ... Done
Building MethodPlugins.d ... Done
Building MethodPDERS.d ... Done
Building MethodPDEFoam.d ... Done
Building MethodMLP.d ... Done
Building MethodLikelihood.d ... Done
Building MethodLD.d ... Done
Building MethodKNN.d ... Done
Building MethodHMatrix.d ... Done
Building MethodFisher.d ... Done
Building MethodFDA.d ... Done
Building MethodDT.d ... Done
Building MethodCuts.d ... Done
Building MethodCompositeBase.d ... Done
Building MethodCFMlpANN_Utils.d ... Done
Building MethodCFMlpANN.d ... Done
Building MethodCategory.d ... Done
Building MethodBoost.d ... Done
Building MethodBDT.d ... Done
Building MethodBayesClassifier.d ... Done
Building MethodBase.d ... Done
Building MethodANNBase.d ... Done
Building MCFitter.d ... Done
Building LogInterval.d ... Done
Building LDA.d ... Done
Building KDEKernel.d ... Done
Building Interval.d ... Done
Building IMethod.d ... Done
Building IFitterTarget.d ... Done
Building GiniIndexWithLaplace.d ... Done
Building GiniIndex.d ... Done
Building GeneticRange.d ... Done
Building GeneticPopulation.d ... Done
Building GeneticGenes.d ... Done
Building GeneticFitter.d ... Done
Building GeneticAlgorithm.d ... Done
Building FitterBase.d ... Done
Building Factory.d ... Done
Building ExpectedErrorPruneTool.d ... Done
Building Event.d ... Done
Building DecisionTreeNode.d ... Done
Building DecisionTree.d ... Done
Building DataSetManager.d ... Done
Building DataSetInfo.d ... Done
Building DataSetFactory.d ... Done
Building DataSet.d ... Done
Building DataInputHandler.d ... Done
Building CrossEntropy.d ... Done
Building CostComplexityPruneTool.d ... Done
Building ConvergenceTest.d ... Done
Building Configurable.d ... Done
Building Config.d ... Done
Building ClassInfo.d ... Done
Building ClassifierFactory.d ... Done
Building CCTreeWrapper.d ... Done
Building CCPruner.d ... Done
Building BinaryTree.d ... Done
Building BinarySearchTreeNode.d ... Done
Building BinarySearchTree.d ... Done
Building BDTEventWrapper.d ... Done
Compiling src/BDTEventWrapper.cxx ... Done
Compiling src/BinarySearchTree.cxx ... In file included from src/BinarySearchTree.cxx:64:0:
./TMVA/Tools.h:46:24: fatal error: TXMLEngine.h: No such file or directory
#include "TXMLEngine.h"
^
compilation terminated.
make: *** [obj/BinarySearchTree.o] Error 1
Upon seeing this, I copy TXMLEngine.h from /root/io/xml/inc/ and paste it into /root/tmva/inc/TMVA.
When I try to make again (exact same error message):
jeffrey@jjiOverlord:~/root/tmva$ make
Compiling src/BinarySearchTree.cxx ... Done
Compiling src/BinarySearchTreeNode.cxx ... Done
Compiling src/BinaryTree.cxx ... Done
Compiling src/CCPruner.cxx ... Done
Compiling src/CCTreeWrapper.cxx ... Done
Compiling src/ClassifierFactory.cxx ... Done
Compiling src/ClassInfo.cxx ... Done
Compiling src/Config.cxx ... Done
Compiling src/Configurable.cxx ... Done
Compiling src/ConvergenceTest.cxx ... Done
Compiling src/CostComplexityPruneTool.cxx ... Done
Compiling src/CrossEntropy.cxx ... Done
Compiling src/DataInputHandler.cxx ... Done
Compiling src/DataSet.cxx ... Done
Compiling src/DataSetFactory.cxx ... In file included from src/DataSetFactory.cxx:40:0:
./TMVA/DataSetFactory.h:53:26: fatal error: TTreeFormula.h: No such file or directory
#include "TTreeFormula.h"
^
compilation terminated.
make: *** [obj/DataSetFactory.o] Error 1
jeffrey@jjiOverlord:~/root/tmva$ make
Compiling src/DataSetFactory.cxx ... In file included from ./TMVA/DataSetFactory.h:53:0,
from src/DataSetFactory.cxx:40:
./TMVA/TTreeFormula.h:127:4: error: ‘LongDouble_t’ does not name a type
LongDouble_t* fConstLD; // local version of fConsts able to store bigger numbers
^
./TMVA/TTreeFormula.h:178:12: error: ‘LongDouble_t’ does not name a type
virtual LongDouble_t EvalInstanceLD(Int_t i=0, const char *stringStack[]=0) {return EvalInstance<LongDouble_t>(i, stringStack); }
^
make: *** [obj/DataSetFactory.o] Error 1
I try the same thing w/ the TTreeFormula.h file, but I still get errors.
jeffrey@jjiOverlord:~/root/tmva$ make
Compiling src/DataSetFactory.cxx ... In file included from ./TMVA/DataSetFactory.h:53:0,
from src/DataSetFactory.cxx:40:
./TMVA/TTreeFormula.h:127:4: error: ‘LongDouble_t’ does not name a type
LongDouble_t* fConstLD; // local version of fConsts able to store bigger numbers
^
./TMVA/TTreeFormula.h:178:12: error: ‘LongDouble_t’ does not name a type
virtual LongDouble_t EvalInstanceLD(Int_t i=0, const char *stringStack[]=0) {return EvalInstance<LongDouble_t>(i, stringStack); }
^
make: *** [obj/DataSetFactory.o] Error 1
jeffrey@jjiOverlord:~/root/tmva$ ^C
jeffrey@jjiOverlord:~/root/tmva$ ^C
jeffrey@jjiOverlord:~/root/tmva$ make
Compiling src/DataSetFactory.cxx ... In file included from ./TMVA/DataSetFactory.h:53:0,
from src/DataSetFactory.cxx:40:
./TMVA/TTreeFormula.h:127:4: error: ‘LongDouble_t’ does not name a type
LongDouble_t* fConstLD; // local version of fConsts able to store bigger numbers
^
./TMVA/TTreeFormula.h:178:12: error: ‘LongDouble_t’ does not name a type
virtual LongDouble_t EvalInstanceLD(Int_t i=0, const char *stringStack[]=0) {return EvalInstance<LongDouble_t>(i, stringStack); }
^
make: *** [obj/DataSetFactory.o] Error 1
I know this is a very primitive way to try and solve this problem, but I am simply not experienced enough to go into Makefile and code my way out of this situation.
Any help would be appreciated, thank you for taking the time to read.