mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Revert "Replace use of deprecated Python module distutils.sysconfig"
This reverts commit e0e567a106
.
On various platforms, the new approach using the sysconfig module
reported incorrect values for the include directory, and so any
Python-related compilations failed. Revert for now and revisit later.
This commit is contained in:
@ -37,28 +37,28 @@ python_majorversion=`echo "$python_fullversion" | sed '[s/^\([0-9]*\).*/\1/]'`
|
|||||||
python_minorversion=`echo "$python_fullversion" | sed '[s/^[0-9]*\.\([0-9]*\).*/\1/]'`
|
python_minorversion=`echo "$python_fullversion" | sed '[s/^[0-9]*\.\([0-9]*\).*/\1/]'`
|
||||||
python_version=`echo "$python_fullversion" | sed '[s/^\([0-9]*\.[0-9]*\).*/\1/]'`
|
python_version=`echo "$python_fullversion" | sed '[s/^\([0-9]*\.[0-9]*\).*/\1/]'`
|
||||||
# Reject unsupported Python versions as soon as practical.
|
# Reject unsupported Python versions as soon as practical.
|
||||||
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 7; then
|
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 6; then
|
||||||
AC_MSG_ERROR([Python version $python_version is too old (version 2.7 or later is required)])
|
AC_MSG_ERROR([Python version $python_version is too old (version 2.6 or later is required)])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([for Python sysconfig module])
|
AC_MSG_CHECKING([for Python distutils module])
|
||||||
if "${PYTHON}" -c 'import sysconfig' 2>&AS_MESSAGE_LOG_FD
|
if "${PYTHON}" -c 'import distutils' 2>&AS_MESSAGE_LOG_FD
|
||||||
then
|
then
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
AC_MSG_ERROR([sysconfig module not found])
|
AC_MSG_ERROR([distutils module not found])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([Python configuration directory])
|
AC_MSG_CHECKING([Python configuration directory])
|
||||||
python_configdir=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LIBPL'))))"`
|
python_configdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"`
|
||||||
AC_MSG_RESULT([$python_configdir])
|
AC_MSG_RESULT([$python_configdir])
|
||||||
|
|
||||||
AC_MSG_CHECKING([Python include directories])
|
AC_MSG_CHECKING([Python include directories])
|
||||||
python_includespec=`${PYTHON} -c "
|
python_includespec=`${PYTHON} -c "
|
||||||
import sysconfig
|
import distutils.sysconfig
|
||||||
a = '-I' + sysconfig.get_path('include')
|
a = '-I' + distutils.sysconfig.get_python_inc(False)
|
||||||
b = '-I' + sysconfig.get_path('platinclude')
|
b = '-I' + distutils.sysconfig.get_python_inc(True)
|
||||||
if a == b:
|
if a == b:
|
||||||
print(a)
|
print(a)
|
||||||
else:
|
else:
|
||||||
@ -96,8 +96,8 @@ AC_DEFUN([PGAC_CHECK_PYTHON_EMBED_SETUP],
|
|||||||
[AC_REQUIRE([_PGAC_CHECK_PYTHON_DIRS])
|
[AC_REQUIRE([_PGAC_CHECK_PYTHON_DIRS])
|
||||||
AC_MSG_CHECKING([how to link an embedded Python application])
|
AC_MSG_CHECKING([how to link an embedded Python application])
|
||||||
|
|
||||||
python_libdir=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LIBDIR'))))"`
|
python_libdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBDIR'))))"`
|
||||||
python_ldlibrary=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LDLIBRARY'))))"`
|
python_ldlibrary=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDLIBRARY'))))"`
|
||||||
|
|
||||||
# If LDLIBRARY exists and has a shlib extension, use it verbatim.
|
# If LDLIBRARY exists and has a shlib extension, use it verbatim.
|
||||||
ldlibrary=`echo "${python_ldlibrary}" | sed -e 's/\.so$//' -e 's/\.dll$//' -e 's/\.dylib$//' -e 's/\.sl$//'`
|
ldlibrary=`echo "${python_ldlibrary}" | sed -e 's/\.so$//' -e 's/\.dll$//' -e 's/\.dylib$//' -e 's/\.sl$//'`
|
||||||
@ -109,11 +109,11 @@ else
|
|||||||
# Otherwise, guess the base name of the shlib.
|
# Otherwise, guess the base name of the shlib.
|
||||||
# LDVERSION was added in Python 3.2, before that use VERSION,
|
# LDVERSION was added in Python 3.2, before that use VERSION,
|
||||||
# or failing that, $python_version from _PGAC_CHECK_PYTHON_DIRS.
|
# or failing that, $python_version from _PGAC_CHECK_PYTHON_DIRS.
|
||||||
python_ldversion=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LDVERSION'))))"`
|
python_ldversion=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDVERSION'))))"`
|
||||||
if test x"${python_ldversion}" != x""; then
|
if test x"${python_ldversion}" != x""; then
|
||||||
ldlibrary="python${python_ldversion}"
|
ldlibrary="python${python_ldversion}"
|
||||||
else
|
else
|
||||||
python_version_var=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('VERSION'))))"`
|
python_version_var=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('VERSION'))))"`
|
||||||
if test x"${python_version_var}" != x""; then
|
if test x"${python_version_var}" != x""; then
|
||||||
ldlibrary="python${python_version_var}"
|
ldlibrary="python${python_version_var}"
|
||||||
else
|
else
|
||||||
@ -173,7 +173,7 @@ PL/Python.])
|
|||||||
fi
|
fi
|
||||||
python_libspec="-L${python_libdir} -l${ldlibrary}"
|
python_libspec="-L${python_libdir} -l${ldlibrary}"
|
||||||
|
|
||||||
python_additional_libs=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
|
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
|
||||||
|
|
||||||
AC_MSG_RESULT([${python_libspec} ${python_additional_libs}])
|
AC_MSG_RESULT([${python_libspec} ${python_additional_libs}])
|
||||||
|
|
||||||
|
30
configure
vendored
30
configure
vendored
@ -10345,34 +10345,34 @@ python_majorversion=`echo "$python_fullversion" | sed 's/^\([0-9]*\).*/\1/'`
|
|||||||
python_minorversion=`echo "$python_fullversion" | sed 's/^[0-9]*\.\([0-9]*\).*/\1/'`
|
python_minorversion=`echo "$python_fullversion" | sed 's/^[0-9]*\.\([0-9]*\).*/\1/'`
|
||||||
python_version=`echo "$python_fullversion" | sed 's/^\([0-9]*\.[0-9]*\).*/\1/'`
|
python_version=`echo "$python_fullversion" | sed 's/^\([0-9]*\.[0-9]*\).*/\1/'`
|
||||||
# Reject unsupported Python versions as soon as practical.
|
# Reject unsupported Python versions as soon as practical.
|
||||||
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 7; then
|
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 6; then
|
||||||
as_fn_error $? "Python version $python_version is too old (version 2.7 or later is required)" "$LINENO" 5
|
as_fn_error $? "Python version $python_version is too old (version 2.6 or later is required)" "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python sysconfig module" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python distutils module" >&5
|
||||||
$as_echo_n "checking for Python sysconfig module... " >&6; }
|
$as_echo_n "checking for Python distutils module... " >&6; }
|
||||||
if "${PYTHON}" -c 'import sysconfig' 2>&5
|
if "${PYTHON}" -c 'import distutils' 2>&5
|
||||||
then
|
then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
as_fn_error $? "sysconfig module not found" "$LINENO" 5
|
as_fn_error $? "distutils module not found" "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python configuration directory" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python configuration directory" >&5
|
||||||
$as_echo_n "checking Python configuration directory... " >&6; }
|
$as_echo_n "checking Python configuration directory... " >&6; }
|
||||||
python_configdir=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LIBPL'))))"`
|
python_configdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"`
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_configdir" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_configdir" >&5
|
||||||
$as_echo "$python_configdir" >&6; }
|
$as_echo "$python_configdir" >&6; }
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python include directories" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python include directories" >&5
|
||||||
$as_echo_n "checking Python include directories... " >&6; }
|
$as_echo_n "checking Python include directories... " >&6; }
|
||||||
python_includespec=`${PYTHON} -c "
|
python_includespec=`${PYTHON} -c "
|
||||||
import sysconfig
|
import distutils.sysconfig
|
||||||
a = '-I' + sysconfig.get_path('include')
|
a = '-I' + distutils.sysconfig.get_python_inc(False)
|
||||||
b = '-I' + sysconfig.get_path('platinclude')
|
b = '-I' + distutils.sysconfig.get_python_inc(True)
|
||||||
if a == b:
|
if a == b:
|
||||||
print(a)
|
print(a)
|
||||||
else:
|
else:
|
||||||
@ -10388,8 +10388,8 @@ $as_echo "$python_includespec" >&6; }
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link an embedded Python application" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link an embedded Python application" >&5
|
||||||
$as_echo_n "checking how to link an embedded Python application... " >&6; }
|
$as_echo_n "checking how to link an embedded Python application... " >&6; }
|
||||||
|
|
||||||
python_libdir=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LIBDIR'))))"`
|
python_libdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBDIR'))))"`
|
||||||
python_ldlibrary=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LDLIBRARY'))))"`
|
python_ldlibrary=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDLIBRARY'))))"`
|
||||||
|
|
||||||
# If LDLIBRARY exists and has a shlib extension, use it verbatim.
|
# If LDLIBRARY exists and has a shlib extension, use it verbatim.
|
||||||
ldlibrary=`echo "${python_ldlibrary}" | sed -e 's/\.so$//' -e 's/\.dll$//' -e 's/\.dylib$//' -e 's/\.sl$//'`
|
ldlibrary=`echo "${python_ldlibrary}" | sed -e 's/\.so$//' -e 's/\.dll$//' -e 's/\.dylib$//' -e 's/\.sl$//'`
|
||||||
@ -10401,11 +10401,11 @@ else
|
|||||||
# Otherwise, guess the base name of the shlib.
|
# Otherwise, guess the base name of the shlib.
|
||||||
# LDVERSION was added in Python 3.2, before that use VERSION,
|
# LDVERSION was added in Python 3.2, before that use VERSION,
|
||||||
# or failing that, $python_version from _PGAC_CHECK_PYTHON_DIRS.
|
# or failing that, $python_version from _PGAC_CHECK_PYTHON_DIRS.
|
||||||
python_ldversion=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LDVERSION'))))"`
|
python_ldversion=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDVERSION'))))"`
|
||||||
if test x"${python_ldversion}" != x""; then
|
if test x"${python_ldversion}" != x""; then
|
||||||
ldlibrary="python${python_ldversion}"
|
ldlibrary="python${python_ldversion}"
|
||||||
else
|
else
|
||||||
python_version_var=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('VERSION'))))"`
|
python_version_var=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('VERSION'))))"`
|
||||||
if test x"${python_version_var}" != x""; then
|
if test x"${python_version_var}" != x""; then
|
||||||
ldlibrary="python${python_version_var}"
|
ldlibrary="python${python_version_var}"
|
||||||
else
|
else
|
||||||
@ -10465,7 +10465,7 @@ PL/Python." "$LINENO" 5
|
|||||||
fi
|
fi
|
||||||
python_libspec="-L${python_libdir} -l${ldlibrary}"
|
python_libspec="-L${python_libdir} -l${ldlibrary}"
|
||||||
|
|
||||||
python_additional_libs=`${PYTHON} -c "import sysconfig; print(' '.join(filter(None,sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
|
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${python_libspec} ${python_additional_libs}" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${python_libspec} ${python_additional_libs}" >&5
|
||||||
$as_echo "${python_libspec} ${python_additional_libs}" >&6; }
|
$as_echo "${python_libspec} ${python_additional_libs}" >&6; }
|
||||||
|
@ -195,8 +195,8 @@ su - postgres
|
|||||||
To build the <application>PL/Python</application> server programming
|
To build the <application>PL/Python</application> server programming
|
||||||
language, you need a <productname>Python</productname>
|
language, you need a <productname>Python</productname>
|
||||||
installation with the header files and
|
installation with the header files and
|
||||||
the <application>sysconfig</application> module. The minimum
|
the <application>distutils</application> module. The minimum
|
||||||
required version is <productname>Python</productname> 2.7.
|
required version is <productname>Python</productname> 2.6.
|
||||||
<productname>Python 3</productname> is supported if it's
|
<productname>Python 3</productname> is supported if it's
|
||||||
version 3.1 or later; but see
|
version 3.1 or later; but see
|
||||||
<xref linkend="plpython-python23"/>
|
<xref linkend="plpython-python23"/>
|
||||||
|
Reference in New Issue
Block a user