]> granicus.if.org Git - postgresql/commitdiff
Reject too-old Python versions a bit sooner.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Feb 2017 16:28:23 +0000 (11:28 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Feb 2017 16:28:23 +0000 (11:28 -0500)
Commit 04aad4018 added this check after the search for a Python shared
library, which seems to me to be a pretty unfriendly ordering.  The
search might fail for what are basically version-related reasons, and
in such a case it'd be better to say "your Python is too old" than
"could not find shared library for Python".

config/python.m4
configure
configure.in

index 7f775e77d239c722b3cb3a5145c71057093a448b..953d709305387a0cd69bd57a87e1504b37980960 100644 (file)
@@ -18,7 +18,8 @@ fi
 
 # _PGAC_CHECK_PYTHON_DIRS
 # -----------------------
-# Determine the name of various directories of a given Python installation.
+# Determine the name of various directories of a given Python installation,
+# as well as the Python version.
 AC_DEFUN([_PGAC_CHECK_PYTHON_DIRS],
 [AC_REQUIRE([PGAC_PATH_PYTHON])
 AC_MSG_CHECKING([for Python distutils module])
@@ -36,6 +37,11 @@ python_version=`${PYTHON} -c "import sys; print(sys.version[[:3]])"`
 python_configdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"`
 AC_MSG_RESULT([$python_configdir])
 
+# Reject unsupported Python versions as soon as practical.
+if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 4; then
+  AC_MSG_ERROR([Python version $python_version is too old (version 2.4 or later is required)])
+fi
+
 AC_MSG_CHECKING([Python include directories])
 python_includespec=`${PYTHON} -c "
 import distutils.sysconfig
index 908109849e681861243d68ae27b88429dc7702a6..6a8db7ce2c84ba280b5fb3a21acf046ee3d97fa0 100755 (executable)
--- a/configure
+++ b/configure
@@ -7594,6 +7594,11 @@ python_configdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filte
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_configdir" >&5
 $as_echo "$python_configdir" >&6; }
 
+# Reject unsupported Python versions as soon as practical.
+if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 4; then
+  as_fn_error $? "Python version $python_version is too old (version 2.4 or later is required)" "$LINENO" 5
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python include directories" >&5
 $as_echo_n "checking Python include directories... " >&6; }
 python_includespec=`${PYTHON} -c "
@@ -7699,9 +7704,6 @@ $as_echo "${python_libspec} ${python_additional_libs}" >&6; }
 
 
 
-  if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 4; then
-    as_fn_error $? "Python version $python_version is too old (version 2.4 or later is required)" "$LINENO" 5
-  fi
 fi
 
 if test "$cross_compiling" = yes && test -z "$with_system_tzdata"; then
index 9e4fb0fa80a629e8fc63b5af4f11e5dca32b26dd..01b618c931ddd44e7d40460d86377ef0e27fb394 100644 (file)
@@ -927,9 +927,6 @@ fi
 if test "$with_python" = yes; then
   PGAC_PATH_PYTHON
   PGAC_CHECK_PYTHON_EMBED_SETUP
-  if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 4; then
-    AC_MSG_ERROR([Python version $python_version is too old (version 2.4 or later is required)])
-  fi
 fi
 
 if test "$cross_compiling" = yes && test -z "$with_system_tzdata"; then