Compiling rootv5.34.34 with GSL2.0 - error

Dear root experts,

I need to compile with GSL because functions from MathMore are needed. I
can compile v5.34.34 fine without GSL, but with GSL2.0 in place I get
the following error message:
(system used is ubuntu 14.04LTS)

gcc -m64 -O3 -DNO_DEBUG_OUTPUT -fPIC -I/usr/include/freetype2 -c
ascmap.c -o ascmap.o
In file included
from /opt/prg/root_v5.34.34/math/mathmore/src/GSLNLSMinimizer.cxx:19:0:
/opt/prg/root_v5.34.34/math/mathmore/src/GSLMultiFit.h: In member
function ‘const double* ROOT::Math::GSLMultiFit::Gradient() const’:
/opt/prg/root_v5.34.34/math/mathmore/src/GSLMultiFit.h:142:38: error:
‘struct gsl_multifit_fdfsolver’ has no member named ‘J’
gsl_multifit_gradient(fSolver->J, fSolver->f,fVec);
/opt/prg/root_v5.34.34/math/mathmore/src/GSLMultiFit.h: In member
function ‘const double* ROOT::Math::GSLMultiFit::CovarMatrix() const’:
/opt/prg/root_v5.34.34/math/mathmore/src/GSLMultiFit.h:153:45: error:
‘struct gsl_multifit_fdfsolver’ has no member named ‘J’
int ret = gsl_multifit_covar(fSolver->J, kEpsrel, fCov);
bin/rmkdepend -R -fmath/mathmore/src/GSLQuasiRandom.d -Y -w 1000 –
-pipe -m64 -Wshadow -Wall -W -Woverloaded-virtual -fPIC -Iinclude
-pthread -I/usr/local/include -DUSE_ROOT_ERROR -D__cplusplus
– /opt/prg/root_v5.34.34/math/mathmore/src/GSLQuasiRandom.cxx
g++ -g -pipe -m64 -Wshadow -Wall -W -Woverloaded-virtual -fPIC -Iinclude
-pthread -I/usr/local/include -DUSE_ROOT_ERROR -o
-c /opt/prg/root_v5.34.34/math/mathmore/src/GSLQuasiRandom.cxx
make: *** [math/mathmore/src/GSLNLSMinimizer.o] Error 1

Thanks for any hints how to resolve this!


Install the system default GSL 1.16 (i.e. “libgsl0ldbl” and “libgsl0-dev” packages). :mrgreen:

Hi Wile, … hMore.html states

To build MathMore you need to have first GSL installed somewhere in your system. A version of GSL larger or equal 1.8 is required.

so either I’m incapable of comparing 1.16 with 1.8, or the web page on MathMore contains faulty info, or ?

Will try your suggestion.

I am not an expert of the GSL library but I read that the new 2.0 version is different from the previous ones "since a number of internal workspaces have changed and so existing binaries must be recompiled against this new library. There are also a small number of API changes and deprecated functions."
So using the GSL version 1.16 should work properly. Anyway, ROOT devs should take into account this new version in the installation process.

We take note. Created task