Recompilation of Python3.6.x

Grant Edwards grant.b.edwards at
Thu Mar 23 10:57:13 EDT 2017

On 2017-03-23, Klaus Jantzen <k.d.jantzen at> wrote:

>>> And you would need tables showing which libraires are required for
>>> which Python features: tkinter is optional, crypto is optional (or
>>> at least used to be), etc.
>> That's a good idea - that would make the simple table have 4
>> columns: name, deb, rpm, python module (or "essential").
> The information must be somewhere because Python must have been
> compiled frequently and correctly for the various (important) OSs
> before making it available to the public.

For CPython, the information about what libraries are required is in
the autoconf input files (e.g. in the CPython sources.

How you locate information about what _packages_ those libraries are
in varies depending on which distro and packaging system are in use.

> And I do not think that it is left up to "your luck" that the
> required packages and libraries are present.

When CPython is packaged for a Linux distro, those options and library
depdencies are figured out and then encoded into the build scripts
that are used for the distros respective packaging systems (the
.ebuild file for Portage, the .spec file for RPM, the files inthe
./debian directory in a .deb package).

If you're building CPython, you have two choices:

 1) Use your distro's packaging system to build it.  That will insure
    that all the required libraries are built/installed.

 2) Build it using the normal untar-configure-make steps.  It may take
    many tries at the 'configure' step as you install required
    libraries until the configure script is happy.  _Usually_ once the
    configure step is done, the make shouldn't uncover any more
    missing libraries.

Grant Edwards               grant.b.edwards        Yow! When you get your
                                  at               PH.D. will you get able to
                                work at BURGER KING?

More information about the Python-list mailing list