Bug 355323

Summary: Support gsl 2
Product: [Applications] LabPlot2 Reporter: Orion Poplawski <orion>
Component: backendAssignee: Stefan Gerlach <stefan.gerlach>
Status: RESOLVED FIXED    
Severity: normal CC: stasnel, stefan.gerlach
Priority: NOR    
Version: 2.0.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description Orion Poplawski 2015-11-14 02:18:05 UTC
LabPlot fails to build with gsl 2.1:

/builddir/build/BUILD/labplot-kf5-2.1.0/src/backend/gsl/functions.h: In function 'ellint_D':
/builddir/build/BUILD/labplot-kf5-2.1.0/src/backend/gsl/functions.h:90:56: error: too many arguments to function 'gsl_sf_ellint_D'
 double ellint_D(double phi,double k,double n) { return gsl_sf_ellint_D(phi,k,n,MODE); }
                                                        ^
In file included from /usr/include/gsl/gsl_sf.h:17:0,
                 from /builddir/build/BUILD/labplot-kf5-2.1.0/src/backend/gsl/functions.h:34,
                 from /builddir/build/BUILD/labplot-kf5-2.1.0/src/backend/gsl/parser.h:34,
                 from parser.y:5:
/usr/include/gsl/gsl_sf_ellint.h:85:8: note: declared here
 double gsl_sf_ellint_D(double phi, double k, gsl_mode_t mode);
        ^


Reproducible: Always
Comment 1 Orion Poplawski 2015-11-14 02:27:15 UTC
gsl 2 dropped the unused third argument n to gsl_sf_ellint_D.  something like

#if GSL_MAJOR_VERSION >= 2

should work.
Comment 2 Stefan Gerlach 2015-11-16 22:41:52 UTC
there are other API changes in GSL 2.x which needs to be addressed too:

/home/dozent/LabPlot/labplot/src/backend/worksheet/plots/cartesian/XYFitCurve.cpp:640:25: error: ‘struct gsl_multifit_fdfsolver’ has no member named ‘J’
  gsl_multifit_covar (s->J, 0.0, covar);

i'm working on it.
Comment 3 Stefan Gerlach 2015-11-16 23:17:21 UTC
GSL 2.x is now supported with the latest commit in the master and frameworks repo.
Comment 4 Orion Poplawski 2015-11-17 14:48:12 UTC
Confirmed, thanks!