From: Tom Lane Date: Tue, 21 Feb 2017 16:28:23 +0000 (-0500) Subject: Reject too-old Python versions a bit sooner. X-Git-Tag: REL_10_BETA1~860 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e5ce3c1aeadf81b504bc9d683b67950bd3f8766;p=postgresql Reject too-old Python versions a bit sooner. 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". --- diff --git a/config/python.m4 b/config/python.m4 index 7f775e77d2..953d709305 100644 --- a/config/python.m4 +++ b/config/python.m4 @@ -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 diff --git a/configure b/configure index 908109849e..6a8db7ce2c 100755 --- 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 diff --git a/configure.in b/configure.in index 9e4fb0fa80..01b618c931 100644 --- a/configure.in +++ b/configure.in @@ -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