glfs/general/prog/python311.xml
2024-01-19 22:39:35 +01:00

185 lines
5.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- Remove once mozilla programs can use python 3.12 -->
<!ENTITY python311-download-http
"https://www.python.org/ftp/python/&python311-version;/Python-&python311-version;.tar.xz">
<!ENTITY python311-md5sum "4efe92adf28875c77d3b9b2e8d3bc44a">
<!ENTITY python311-size "19 MB">
<!ENTITY python311-buildsize "301 MB">
<!ENTITY python311-time "1.1 SBU (Using parallelism=4)">
]>
<sect1 id="python311" xreflabel="Python-&python311-version;">
<?dbhtml filename="python311.html" ?>
<title>Python-&python311-version;</title>
<indexterm zone="python311">
<primary sortas="a-Python3.11">Python3.11</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Python 3.11</title>
<para>
The <application>Python 3.11</application> package contains an
older version of the <application>Python</application> development
environment. This is <emphasis role="bold">only</emphasis> needed for
building specific programs in BLFS
that have not updated their build systems to support
<xref linkend="python3"/> (e.g <xref linkend="firefox"/>,
<xref linkend="thunderbird"/>, <xref linkend="seamonkey"/>, and
<xref linkend="qtwebengine"/>).
</para>
<note>
<para>
Do NOT install this package if you are not installing one of
the above programs.
</para>
</note>
&lfs120_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&python311-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &python311-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &python311-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &python311-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &python311-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Python 3.11 Dependencies</bridgehead>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="sqlite"/> (required if building firefox or thunderbird)
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Python 3.11</title>
<para>
Install <application>Python 3.11</application> by running the following
commands:
</para>
<screen><userinput>CXX="/usr/bin/g++" \
./configure --prefix=/opt/python3.11 \
--disable-shared \
--with-system-expat &amp;&amp;
make</userinput></screen>
<para>
Since this package is only used in very limited situations,
tests are not recommended.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command> CXX="/usr/bin/g++" ./configure ...</command>: Avoid an annoying
message during configuration.
</para>
<para>
<parameter>--prefix=/opt/python3.11</parameter>: This installs python
3.11 into /opt in order to avoid conflicts with the system version of
python, and allows for easy removal/isolation once programs update to
python3.12 or later.
</para>
<para>
<parameter>--disable-shared</parameter>: This switch disables building
shared libraries. Since all the packages that need python-3.11 have built
in modules and don't directly link to python, it is safe to turn off
shared library support.
</para>
<para>
<parameter>--with-system-expat</parameter>: This switch enables linking
against the system version of <application>Expat</application>.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
python3.11
</seg>
<seg>
libpython3.11.a
</seg>
<seg>
/opt/python3.11/include/python3.11, and
/opt/python3.11/lib/python3.11,
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="python311-ver">
<term><command>python3.11</command></term>
<listitem>
<para>
is a version-specific name for the <command>python</command>
program
</para>
<indexterm zone="python311 python311-ver">
<primary sortas="b-python3.11">python3.11</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>