Message368086
| Author |
lemburg |
| Recipients |
lemburg |
| Date |
2020年05月04日.21:51:07 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1588629067.84.0.887023365467.issue40505@roundup.psfhosted.org> |
| In-reply-to |
| Content |
On platforms which configure identifies as bi-arch platform, libdir is set to $[exec_prefix}/lib64, which results in the C extensions to get installed in e.g. /usr/local/lib64/python3.8/lib-dynload/.
However, the getpath.c routines use a fixed "lib/python" VERSION (see https://github.com/python/cpython/blob/3.8/Modules/getpath.c#L1200) path to build sys.path. As a result, the built Python binary cannot load the builtin C extensions.
A work-around on OpenSUSE is to set CONFIG_SITE="" when configuring Python. This disables the bi-arch support and has libdir default to ${exec_prefix}/lib again.
Looking at the master branch, this may already have been fixed for 3.9, since a PLATLIBDIR variable is used instead. The patch would have to be backported to earlier Python versions as well. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2020年05月04日 21:51:07 | lemburg | set | recipients:
+ lemburg |
| 2020年05月04日 21:51:07 | lemburg | set | messageid: <1588629067.84.0.887023365467.issue40505@roundup.psfhosted.org> |
| 2020年05月04日 21:51:07 | lemburg | link | issue40505 messages |
| 2020年05月04日 21:51:07 | lemburg | create |
|