[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-devel-list
Subject:    Re: Fedora 32 System-Wide Change proposal: Build Python 3 to statically link with libpython3.8.a for
From:       Miro_Hrončok <mhroncok () redhat ! com>
Date:       2019-11-12 13:18:00
Message-ID: ffb5788b-409c-d6ff-b7ef-26fa109256c6 () redhat ! com
[Download RAW message or body]

On 12. 11. 19 14:00, Miroslav Suchý wrote:
> Dne 05. 11. 19 v 16:03 Ben Cotton napsal(a):
>> == Summary ==
>> Python 3 traditionally in Fedora was built with a shared library
>> libpython3.?.so and the final binary was dynamically linked against
>> that shared library. This change is about creating the static library
>> and linking the final python3 binary against it, as it provides
>> significant performance improvement, up to 27% depending on the
>> workload. The static library will not be shipped. The shared library
>> will continue to exist in a separate subpackage. In essence, python3
>> will no longer depend on libpython.
> 
> It seems that we have one group of people who prefer speed and another group of 
> people who prefer saved space.
> 
> Instead of focusing on a swiss-knife to satisfy everybody (which will not work), 
> can we have python3-static **and** python3-dynamic (*) packages and let users 
> decide which one will be installed and handle `/usr/bin/python3` using 
> `alternatives(8)`?
> Then FESCO can "only" decide which one will be the default. And that is far less 
> controversial than deciding whether you will be forced to use a time-saving or 
> space-saving solution.

While I realize that this might actually be a clever thing to do, as the Python 
maintainer, I don't want this for various reasons. Most importantly, it means we 
need to to "support" twice that many Python interpreters.

It would also create a problem in RPM requirements.

Suppose a package need /usr/bin/python3.8 to be dynamically linked. How do I 
express that? It would need to harcode some kind of 
/usr/libexec/python3.8-dynamic? Would this require custom shebangs... etc.? I 
really don't want to go that way. It's bad on RHEL 8 already, with 
"platform-python".

Note that this is my personal opinion, not a team opinion.

-- 
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic