Compilation error with TMath::Interpolator

Hello,

I am trying to compile a program where I use TMath::Interpolator with the attached Makefile, and have the following error message at compilation:

Undefined symbols for architecture x86_64:
“ROOT::Math::Interpolator::SetData(std::__1::vector<double, std::__1::allocator > const&, std::__1::vector<double, std::__1::allocator > const&)”, referenced from:
PhysicalEvent::GetELoss(int, int, double, double, double) in PhysicalEvent.o
“ROOT::Math::Interpolator::Interpolator(unsigned int, ROOT::Math::Interpolation::Type)”, referenced from:
PhysicalEvent::GetELoss(int, int, double, double, double) in PhysicalEvent.o
“ROOT::Math::Interpolator::~Interpolator()”, referenced from:
PhysicalEvent::GetELoss(int, int, double, double, double) in PhysicalEvent.o
“ROOT::Math::Interpolator::Eval(double) const”, referenced from:
PhysicalEvent::GetELoss(int, int, double, double, double) in PhysicalEvent.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [runAnalysis] Error 1

Could you help me finding where is the error?
Thanks in advance. Best regards,
Anna
Makefile.txt (793 Bytes)

Hi Anna,

I think you are missing the linking to libMathMore. You should add to your ROOTLIBS variable the string “-lMathMore”.

Danilo

Thanks, it works!
Anna