gnuastro-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnuastro-commits] master d7fa589: GSL's Steffen interpolation checked a


From: Mohammad Akhlaghi
Subject: [gnuastro-commits] master d7fa589: GSL's Steffen interpolation checked at configure time
Date: Mon, 4 Jun 2018 21:43:02 -0400 (EDT)

branch: master
commit d7fa589d54a8eaa91d4fb1bd62d725130a83c70a
Author: Mohammad Akhlaghi <address@hidden>
Commit: Mohammad Akhlaghi <address@hidden>

    GSL's Steffen interpolation checked at configure time
    
    After the 0.6 release, Alan Lefor and Takashi Ichikawa informed us that
    Gnuastro's build would fail on systems with an older GSL, because the
    compiler couldn't find `gsl_interp_steffen'.
    
    Therefore with this commit, a check has been added to the configure script.
    If this variable isn't present in GSL's `gsl/gsl_interp.h' header, then
    that type of interpolation will not be available and the program trying to
    use it will crash with a notice. Also, at the end of the `./configure'
    script, a warning will be printed, informing the user of this limited
    capability of Gnuastro due to the old GSL version.
    
    This fixes bug #54057.
---
 NEWS                         | 17 +++++++++++++++++
 configure.ac                 | 14 +++++++++++++-
 doc/announce-acknowledge.txt |  5 ++++-
 lib/interpolate.c            |  7 +++++++
 4 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index a1260a0..9905592 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,23 @@
 GNU Astronomy Utilities NEWS                          -*- outline -*-
 
 
+* Noteworthy changes in release X.X (library 5.0.0) (YYYY-MM-DD) [alpha]
+
+** New features
+
+** Removed features
+
+** Changed features
+
+** Bug fixes
+
+  bug #54057: Building failure due to not finding gsl_interp_steffen.
+
+
+
+
+
+
 * Noteworthy changes in release 0.6 (library 4.0.0) (2018-06-04) [stable]
 
 ** New features
diff --git a/configure.ac b/configure.ac
index f5949b1..dcb470f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -192,7 +192,7 @@ PATH=$(AS_ECHO([$PATH]) | $SED -e 's|'"$currpwd"'||g' \
                                -e 's|^:||'            \
                                -e 's|:$||' )
 AS_IF([test $oldPATH = $PATH],
-      [ path_warning=no ],
+      [ path_warning=no                   ],
       [ path_warning=yes; anywarnings=yes ])
 AC_MSG_RESULT( $path_warning )
 
@@ -213,6 +213,10 @@ AC_SEARCH_LIBS([cblas_sdsdot], [gslcblas], [],
     [AC_MSG_ERROR([GSL CBLAS not present, cannot continue.])])
 AC_SEARCH_LIBS([gsl_integration_qng], [gsl], [],
     [AC_MSG_ERROR([GSL not found, cannot continue.])])
+AC_CHECK_DECLS(gsl_interp_steffen,
+               [ gsl_version_old=no                   ],
+               [ gsl_version_old=yes; anywarnings=yes ],
+               [[#include <gsl/gsl_interp.h>]])
 
 # Since version 0.42, if `libcurl' is installed, CFITSIO will link with it
 # and thus it will be necessary to explicitly link with libcurl also. If it
@@ -657,6 +661,14 @@ AS_IF([test x$enable_guide_message = xyes],
         AS_ECHO(["Configuration warning(s):"])
         AS_ECHO([])
 
+        AS_IF([test "x$gsl_version_old" = "xyes"],
+              [AS_ECHO(["  - The version of GNU Scientific Library (GSL) on 
this system doesn't"])
+               AS_ECHO(["    have some features that can be useful in 
Gnuastro. This build"])
+               AS_ECHO(["    won't crash, but Gnuastro will have less 
functionality afterwards."])
+               AS_ECHO(["    We thus recommend building and installing a more 
recent version"])
+               AS_ECHO(["    of GSL (version >= 2.0, released in October 
2015)."])
+               AS_ECHO([]) ])
+
         AS_IF([test "x$has_libjpeg" = "xno"],
               [AS_ECHO(["  - libjpeg, could not be linked with in your library 
search path."])
                AS_ECHO(["    If JPEG inputs/outputs are requested, the 
respective tool will"])
diff --git a/doc/announce-acknowledge.txt b/doc/announce-acknowledge.txt
index 4aaeec8..2382d74 100644
--- a/doc/announce-acknowledge.txt
+++ b/doc/announce-acknowledge.txt
@@ -1 +1,4 @@
-People who's help must be acknowledged in the next release.
+Alphabetically ordered list to acknowledge in the next release.
+
+Takashi Ichikawa
+Alan Lefor
diff --git a/lib/interpolate.c b/lib/interpolate.c
index 51631e8..319fde9 100644
--- a/lib/interpolate.c
+++ b/lib/interpolate.c
@@ -512,7 +512,14 @@ gal_interpolate_1d_make_gsl_spline(gal_data_t *X, 
gal_data_t *Y, int type_1d)
     case GAL_INTERPOLATE_1D_AKIMA_PERIODIC:
       itype=gsl_interp_akima_periodic;   break;
     case GAL_INTERPOLATE_1D_STEFFEN:
+#if HAVE_DECL_GSL_INTERP_STEFFEN
       itype=gsl_interp_steffen;          break;
+#else
+      error(EXIT_FAILURE, 0, "%s: Steffen interpolation isn't available "
+            "in the system's GNU Scientific Library (GSL). Please install "
+            "a more recent GSL (version >= 2.0, released in October 2015) "
+            "and rebuild Gnuastro", __func__);
+#endif
     default:
       error(EXIT_FAILURE, 0, "%s: code %d not recognizable for the GSL "
             "interpolation type", __func__, type_1d);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]