diff --git a/Plugin/ModulusPhase.cpp b/Plugin/ModulusPhase.cpp
index 68346ea1a6d6c07190b9fbb4cbdfa7a1778fe865..93457376a9efe41f6c27632f49c7fe500432e9d4 100644
--- a/Plugin/ModulusPhase.cpp
+++ b/Plugin/ModulusPhase.cpp
@@ -66,7 +66,7 @@ PView *GMSH_ModulusPhasePlugin::execute(PView *v)
 
   PViewData *data1 = v1->getData();
   if(data1->hasMultipleMeshes()){
-    Msg::Error("Gradient plugin cannot be run on multi-mesh views");
+    Msg::Error("ModulusPhase plugin cannot be run on multi-mesh views");
     return v;
   }
 
diff --git a/configure b/configure
index af9139e0e9b7a2cac681738e5931536cc51c5c98..757fe2c09954627145f76f3e0cca9cd59fd1317b 100755
--- a/configure
+++ b/configure
@@ -5092,7 +5092,7 @@ if test "x${ZLIB}" = "xyes"; then
     if test "x${ZLIB_PREFIX}" = "x"; then
       GMSH_LIBS="${GMSH_LIBS} -lz"
     else
-            GMSH_LIBS="${GMSH_LIBS} -L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib -lz"
+                  GMSH_LIBS="${GMSH_LIBS} -L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib -lz"
       FLAGS="${FLAGS} -I${ZLIB_PREFIX} -I${ZLIB_PREFIX}/include"
     fi
   fi
@@ -5108,7 +5108,7 @@ if test "${ac_cv_lib_gsl_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgsl  $LIBS"
+LIBS="-lgsl -lgslcblas $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5439,6 +5439,65 @@ fi
 
 if test "x$CBLAS" = "xyes"; then
   BLAS_LIBS="-lcblas"
+    { echo "$as_me:$LINENO: checking for main in -latlas" >&5
+echo $ECHO_N "checking for main in -latlas... $ECHO_C" >&6; }
+if test "${ac_cv_lib_atlas_main+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-latlas  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_atlas_main=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_atlas_main=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_atlas_main" >&5
+echo "${ECHO_T}$ac_cv_lib_atlas_main" >&6; }
+if test $ac_cv_lib_atlas_main = yes; then
+  BLAS_LIBS="${BLAS_LIBS} -latlas"
+fi
+
   if test "x${BLAS_LAPACK_PREFIX}" != "x"; then
     BLAS_PATH="-L${BLAS_LAPACK_PREFIX} -L${BLAS_LAPACK_PREFIX}/lib"
   fi
diff --git a/configure.in b/configure.in
index ad0f60798d4a25554b6291d13ccb5f5ce3d93bd6..169c74b80d42f0590d659617a22e4cd462523ed2 100644
--- a/configure.in
+++ b/configure.in
@@ -398,7 +398,8 @@ else
 
 fi
 
-dnl Check for standard math library
+dnl Check for standard math library (no rule given if found, so gets
+dnl added to $LIBS, used for further checks)
 AC_CHECK_LIB(m,main)
 
 dnl Check for various functions
@@ -627,7 +628,7 @@ if test "x${HDF5}" = "xyes"; then
   fi
 fi
 
-dnl Complete HDF5 link line (zlib must be linked in after libmed)
+dnl Complete HDF5 link line
 if test "x${HDF5}" = "xyes"; then
   if test "x${HDF5_PREFIX}" = "x"; then
     GMSH_LIBS="${GMSH_LIBS} -lhdf5"
@@ -637,7 +638,8 @@ if test "x${HDF5}" = "xyes"; then
   fi
 fi
 
-dnl Complete zlib link line (zlib must be linked in after libpng and libhdf5)
+dnl Complete zlib link line (zlib must be linked in after libpng and
+dnl libhdf5)
 if test "x${ZLIB}" = "xyes"; then
   dnl If provided by FLTK, use that one; otherwise, look for it
   if test "x${FL_ZLIB}" = "xyes"; then
@@ -647,7 +649,8 @@ if test "x${ZLIB}" = "xyes"; then
     if test "x${ZLIB_PREFIX}" = "x"; then
       GMSH_LIBS="${GMSH_LIBS} -lz"
     else
-      dnl Find the libs/includes even if libz is _not_ properly installed (ugly hack!)
+      dnl Find the libs/includes even if libz is _not_ properly
+      dnl installed (ugly hack!)
       GMSH_LIBS="${GMSH_LIBS} -L${ZLIB_PREFIX} -L${ZLIB_PREFIX}/lib -lz"
       FLAGS="${FLAGS} -I${ZLIB_PREFIX} -I${ZLIB_PREFIX}/include"
     fi
@@ -659,7 +662,7 @@ if test "x$enable_gsl" != "xno"; then
   if test "x${GSL_PREFIX}" != "x"; then
     LDFLAGS="-L${GSL_PREFIX} -L${GSL_PREFIX}/lib ${LDFLAGS}"
   fi
-  AC_CHECK_LIB(gsl,main,GSL="yes",GSL="no")
+  AC_CHECK_LIB(gsl,main,GSL="yes",GSL="no",-lgslcblas)
   if test "x${GSL}" = "xyes"; then
     FLAGS="-DHAVE_GSL ${FLAGS}"
     if test "x${GSL_PREFIX}" = "x"; then
@@ -729,6 +732,8 @@ fi
 AC_CHECK_LIB(cblas,cblas_dgemm,CBLAS="yes",CBLAS="no")
 if test "x$CBLAS" = "xyes"; then
   BLAS_LIBS="-lcblas"
+  dnl add atlas if cblas came from it
+  AC_CHECK_LIB(atlas,main,BLAS_LIBS="${BLAS_LIBS} -latlas",)
   if test "x${BLAS_LAPACK_PREFIX}" != "x"; then
     BLAS_PATH="-L${BLAS_LAPACK_PREFIX} -L${BLAS_LAPACK_PREFIX}/lib"
   fi