This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020年05月19日 15:00 by vstinner, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 20736 | merged | vstinner, 2020年06月08日 18:01 | |
| PR 20761 | merged | miss-islington, 2020年06月09日 13:33 | |
| Messages (5) | |||
|---|---|---|---|
| msg369362 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年05月19日 15:00 | |
bpo-1294959 added --with-platlibdir option to configure, but "make install" doesn't fully respect it. Example: ./configure --prefix /opt/py39b1 --with-platlibdir=lib64 make make install I get: /opt/py39b1/lib/python3.9/lib-dynload/readline.cpython-39-x86_64-linux-gnu.so whereas Python doesn't use this directory: $ /opt/py39b1/bin/python3.9 -m site Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] sys.path = [ '/home/vstinner/Python-3.9.0b1', '/opt/py39b1/lib64/python39.zip', '/opt/py39b1/lib64/python3.9', '/opt/py39b1/lib64/lib-dynload', '/home/vstinner/.local/lib/python3.9/site-packages', '/opt/py39b1/lib64/python3.9/site-packages', ] USER_BASE: '/home/vstinner/.local' (exists) USER_SITE: '/home/vstinner/.local/lib/python3.9/site-packages' (exists) ENABLE_USER_SITE: True Python looks into /opt/py39b1/lib64/lib-dynload ("lib64") make install writes into /opt/py39b1/lib/python3.9/lib-dynload/ ("lib") |
|||
| msg369363 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年05月19日 15:04 | |
The Fedora package is built using --libdir=/usr/lib64 --with-platlibdir=lib64 which works around the issue: + /builddir/build/BUILD/Python-3.9.0b1/configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-platlibdir=lib64 --enable-ipv6 --enable-shared --with-computed-gotos=yes --with-dbmliborder=gdbm:ndbm:bdb --with-system-expat --with-system-ffi --enable-loadable-sqlite-extensions --with-dtrace --with-lto --with-ssl-default-suites=openssl --with-valgrind --without-ensurepip --enable-optimizations |
|||
| msg371105 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年06月09日 13:32 | |
New changeset 51ae31e5b93b986e57a7e18e25f981a6ffcdefb7 by Victor Stinner in branch 'master': bpo-40684: Fix make install for platlibdir=lib64 (GH-20736) https://github.com/python/cpython/commit/51ae31e5b93b986e57a7e18e25f981a6ffcdefb7 |
|||
| msg371106 - (view) | Author: miss-islington (miss-islington) | Date: 2020年06月09日 13:55 | |
New changeset 6cb24a035c5980cab39b6dc5d70762af07293bea by Miss Islington (bot) in branch '3.9': bpo-40684: Fix make install for platlibdir=lib64 (GH-20736) https://github.com/python/cpython/commit/6cb24a035c5980cab39b6dc5d70762af07293bea |
|||
| msg371111 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年06月09日 14:45 | |
> make install writes into /opt/py39b1/lib/python3.9/lib-dynload/ ("lib")
I tested manually my fix: it works as expected.
Install:
./configure --prefix /opt/py39_lib64 --with-platlibdir=lib64
make
make install
Test:
$ /opt/py39_lib64/bin/python3.9 -m site
sys.path = [
'/',
'/opt/py39_lib64/lib64/python39.zip',
'/opt/py39_lib64/lib64/python3.9',
'/opt/py39_lib64/lib64/python3.9/lib-dynload',
'/home/vstinner/.local/lib/python3.9/site-packages',
'/opt/py39_lib64/lib64/python3.9/site-packages',
]
USER_BASE: '/home/vstinner/.local' (exists)
USER_SITE: '/home/vstinner/.local/lib/python3.9/site-packages' (exists)
ENABLE_USER_SITE: True
$ /opt/py39_lib64/bin/python3.9
Python 3.9.0b2+ (heads/3.9:6cb24a035c, Jun 9 2020, 16:43:12)
[GCC 10.1.1 20200507 (Red Hat 10.1.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _asyncio
>>> _asyncio
<module '_asyncio' from '/opt/py39_lib64/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'>
|
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:31 | admin | set | github: 84861 |
| 2020年06月09日 14:45:39 | vstinner | set | messages: + msg371111 |
| 2020年06月09日 14:39:04 | vstinner | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2020年06月09日 13:55:00 | miss-islington | set | messages: + msg371106 |
| 2020年06月09日 13:33:54 | miss-islington | set | nosy:
+ miss-islington pull_requests: + pull_request19961 |
| 2020年06月09日 13:32:51 | vstinner | set | messages: + msg371105 |
| 2020年06月08日 18:01:51 | vstinner | set | keywords:
+ patch stage: patch review pull_requests: + pull_request19943 |
| 2020年05月19日 22:07:51 | ned.deily | set | nosy:
+ ned.deily |
| 2020年05月19日 17:54:27 | Arfrever | set | nosy:
+ Arfrever |
| 2020年05月19日 15:04:46 | vstinner | set | messages: + msg369363 |
| 2020年05月19日 15:00:36 | vstinner | set | versions: + Python 3.10 |
| 2020年05月19日 15:00:31 | vstinner | create | |