I am trying to build ROOT 6.04.16 on Ubuntu 16.04 (xenial), and I’m getting the following build error:
04:46:00 In file included from /home/joeuser/ATLAS/root-source/root/math/mathmore/src/GSLNLSMinimizer.cxx:19:0:
04:46:00 /home/joeuser/ATLAS/root-source/root/math/mathmore/src/GSLMultiFit.h: In member function `const double* ROOT::Math::GSLMultiFit::Gradient() const':
04:46:00 /home/joeuser/ATLAS/root-source/root/math/mathmore/src/GSLMultiFit.h:146:38: error: `struct gsl_multifit_fdfsolver' has no member named `J'
04:46:00 gsl_multifit_gradient(fSolver->J, fSolver->f,fVec);
04:46:00 ^
I have also been building on trusty (v14) and there it builds fine. Doing a little digging, it appears that trusty has GSL v1.1x installed, and xenial has v2.x of GSL installed, and indeed, the gsl_multifit_fsfsolver has changed (there is no J in the 2.x series).
Looking around, it did not look possible to install the old version of gsl - all the packages for xenial seem to point to gsl 2.x, unfortunately (packages.ubuntu.com/search?keywo … chon=names).
What should I do in this case? Use some cmake to turn off gsl building, or…?
Many thanks in advance! -Gordon.