<application>PL/Perl</application>, you should ensure that the
<productname>Perl</productname> installation was built with the
<literal>usemultiplicity</literal> option enabled (<literal>perl -V</literal>
will show whether this is the case).
</para>
</listitem>
<listitem>
<para>
To build the <application>PL/Python</application> server programming
language, you need a <productname>Python</productname>
installation with the header files and
the <application>sysconfig</application> module. The minimum
supported version is <productname>Python</productname> 3.6.8.
</para>
<para>
Since <application>PL/Python</application> will be a shared
library, the <indexterm><primary>libpython</primary></indexterm>
<filename>libpython</filename> library must be a shared library
also on most platforms. This is not the case in a default
<productname>Python</productname> installation built from source, but a
shared library is available in many operating system
distributions. <filename>configure</filename> will fail if
building <application>PL/Python</application> is selected but it cannot
find a shared <filename>libpython</filename>. That might mean that you
either have to install additional packages or rebuild (part of) your
<productname>Python</productname> installation to provide this shared
library. When building from source, run <productname>Python</productname>'s
configure with the <literal>--enable-shared</literal> flag.
</para>
</listitem>
<listitem>
<para>
To build the <application>PL/Tcl</application>
procedural language, you of course need a <productname>Tcl</productname>
installation. The minimum required version is
<productname>Tcl</productname> 8.4.
</para>
</listitem>
<listitem>
<para>
To enable Native Language Support (<acronym>NLS</acronym>), that
is, the ability to display a program's messages in a language
other than English, you need an implementation of the
<application>Gettext</application> <acronym>API</acronym>. Some operating
systems have this built-in (e.g., <systemitem
class="osname">Linux</systemitem>, <systemitem class="osname">NetBSD</systemitem>,
<systemitem class="osname">Solaris</systemitem>), for other systems you
can download an add-on package from <ulink
url="https://www.gnu.org/software/gettext/"></ulink>.
If you are using the <application>Gettext</application> implementation in
the <acronym>GNU</acronym> C library, then you will additionally
need the <productname>GNU Gettext</productname> package for some
utility programs. For any of the other implementations you will
not need it.
</para>
</listitem>
<listitem>
<para>
You need <productname>OpenSSL</productname>, if you want to support
encrypted client connections. <productname>OpenSSL</productname> is
also required for random number generation on platforms that do not
have <filename>/dev/urandom</filename> (except Windows). The minimum
required version is 1.1.1.
</para>
<para>
Additionally, <productname>LibreSSL</productname> is supported using the
<productname>OpenSSL</productname> compatibility layer. The minimum
required version is 3.4 (from <systemitem class="osname">OpenBSD</systemitem>
version 7.0).
</para>
</listitem>
<listitem>
<para>
You need <application>MIT Kerberos</application> (for GSSAPI),
<productname>OpenLDAP</productname>, and/or <application>PAM</application>,
if you want to support authentication using those services.
</para>
</listitem>
<listitem>
<para>
You need <productname>Curl</productname> to build an optional module
which implements the <link linkend="libpq-oauth">OAuth Device