Subject: Buildfarm update to Python 3 needed

From: Tom Lane <[email-masked]>
Date: Thu, 13 Jan 2022 11:56:51 -0500

Per recent discussions on pgsql-hackers [1], we are intending
to desupport Python 2 in Postgres beginning in v15.  This means
that for buildfarm animals to build/test plpython, it will soon
be necessary for them to have a Python 3 installation.

If there is already a "python3" available in the animal's PATH,
you don't need to do anything; it will automatically start using
that when the switchover is made.  Otherwise, you can either
install Python 3.x, or remove "--with-python" from the animal's
configuration.

If you're manually forcing choice of a particular Python
installation by setting the PYTHON environment variable, you'll
need to adjust that variable to point at a Python 3 installation.

Note that there's no need to change which Python is used for
building v14 and earlier, though you're free to do so if you
prefer.

Which 3.x minor version to use is mostly up to you.  Be aware
however that there's been discussion of switching our build
system from autoconf/gmake to meson/ninja; if that happens,
it'll create a requirement to have at least Python 3.6.

We anticipate making this change in mid-February, so you have
a month to do whatever needs to be done with your buildfarm
animals.

			regards, tom lane

[1] https://www.postgresql.org/message-id/flat/20211031184548.g4sxfe47n2kyi55r%40alap3.anarazel.de

---

From: Tom Lane <[email-masked]>
Date: Fri, 21 Jan 2022 13:28:45 -0500

> be necessary for them to have a Python 3 installation.

We ran a small test case to see which buildfarm members are ready
for this changeover, by seeing what happens if python3 is chosen
by configure.  Here's the results.

These animals have python3, but failed to find an associated
Python.h (this likely means you need to install python3-dev
or local equivalent, not just the base package):

ayu
bonito
bufflehead
butterflyfish
cavefish
chimaera
gadwall
grison
hippopotamus
jay
massasauga
myna
pintail
snakefly
takin
urocryon

These animals definitely don't have python3 installed:

buri
clam
curculio
dhole
quokka
rhinoceros
scoter

These animals possibly don't have python3 installed (they didn't
run yesterday, so I'm not sure):

bichir
chipmunk
mantid
skate
snapper
topminnow

Also two special cases:

haddock has a python3, but apparently it's 64-bit and so won't
work in a 32-bit Postgres build.

guaibasaurus failed like this:

checking for python3... /usr/bin/python3
configure: using python 3.7.3 (default, Jan 22 2021, 20:04:44) 
checking for Python distutils module... yes
checking Python configuration directory... Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'distutils.sysconfig'

Seems to also be a missing-package issue, but I'm not sure what.

All the other active animals seem to be ready to go.

			regards, tom lane

---

From: Mikael Kjellström <[email-masked]>
Date: Fri, 21 Jan 2022 23:42:49 +0100

> grison

Should be fixed since a couple of days ago.  It didn't have the 
python3-dev package installed.

> These animals definitely don't have python3 installed:

Just installed python-3.5.1 on it.

/Mikael