Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-40684: Fix make install for platlibdir=lib64 #20736

Merged
merged 1 commit into from Jun 9, 2020

Conversation

@vstinner
Copy link
Member

vstinner commented Jun 8, 2020

"make install" now uses the PLATLIBDIR variable for the destination
lib-dynload/ directory when ./configure --with-platlibdir is used.

Update --with-platlibdir comment in configure.

https://bugs.python.org/issue40684

@vstinner
Copy link
Member Author

vstinner commented Jun 8, 2020

Currently, --libdir=/usr/lib64 updates BINLIBDEST and DESTSHARED.

With this change, BINLIBDEST and DESTSHARED no longer depend on LIBDIR but always use $exec_prefix/$PLATLIBDIR/ path.

@hroncok @mcepl @ned-deily @zware: Would you mind to review this change? I'm not comfortable with changing the build system :-/

See https://bugs.python.org/issue40684 for the context and the bug.

@vstinner
Copy link
Member Author

vstinner commented Jun 8, 2020

To reduce the risk of regression, one option would be to continue to use BINLIBDEST= $(LIBDIR)/python$(VERSION) by default, but use BINLIBDEST= ${exec_prefix}/${PLATLIBDIR}/python$(VERSION) with --with-platlibdir= option is used.

"make install" now uses the PLATLIBDIR variable for the destination
lib-dynload/ directory when ./configure --with-platlibdir is used.

Update --with-platlibdir comment in configure.
@vstinner vstinner force-pushed the vstinner:install_platlibdir branch from 53d04ef to 71a3a57 Jun 9, 2020
@vstinner
Copy link
Member Author

vstinner commented Jun 9, 2020

To reduce the risk of regression, one option would be to continue to use BINLIBDEST= $(LIBDIR)/python$(VERSION) by default, but use BINLIBDEST= ${exec_prefix}/${PLATLIBDIR}/python$(VERSION) with --with-platlibdir= option is used.

Done. This PR has no more effect by default. Now it only changes BINLIBDEST when --with-platlibdir is used.

@mcepl
Copy link
Contributor

mcepl commented Jun 9, 2020

+1 from me

@vstinner vstinner merged commit 51ae31e into python:master Jun 9, 2020
10 checks passed
10 checks passed
Docs Docs
Details
Check for source changes
Details
Windows (x86)
Details
Windows (x64)
Details
macOS
Details
Ubuntu Ubuntu
Details
Azure Pipelines PR #20200609.22 succeeded
Details
bedevere/issue-number Issue number 40684 found
Details
bedevere/news News entry found in Misc/NEWS.d
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@vstinner vstinner deleted the vstinner:install_platlibdir branch Jun 9, 2020
@miss-islington
Copy link
Contributor

miss-islington commented Jun 9, 2020

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9.
🐍🍒🤖

@bedevere-bot
Copy link

bedevere-bot commented Jun 9, 2020

GH-20761 is a backport of this pull request to the 3.9 branch.

miss-islington added a commit that referenced this pull request Jun 9, 2020
"make install" now uses the PLATLIBDIR variable for the destination
lib-dynload/ directory when ./configure --with-platlibdir is used.

Update --with-platlibdir comment in configure.
(cherry picked from commit 51ae31e)

Co-authored-by: Victor Stinner <vstinner@python.org>
vegerot added a commit to vegerot/cpython that referenced this pull request Jun 10, 2020
"make install" now uses the PLATLIBDIR variable for the destination
lib-dynload/ directory when ./configure --with-platlibdir is used.

Update --with-platlibdir comment in configure.
vegerot added a commit to vegerot/cpython that referenced this pull request Jun 10, 2020
"make install" now uses the PLATLIBDIR variable for the destination
lib-dynload/ directory when ./configure --with-platlibdir is used.

Update --with-platlibdir comment in configure.
vegerot added a commit to vegerot/cpython that referenced this pull request Jun 10, 2020
…ch-2

* 'patch-2' of https://github.com/vegerot/cpython: (1585 commits)
  bpo-35019: Add tests for IPAddress in asyncio
  Remove usesless function from csv module (pythonGH-20762)
  bpo-40684: Fix make install for platlibdir=lib64 (pythonGH-20736)
  Remove reference to 3.7 and 3.8 backports. (pythonGH-20754)
  Minor improvement to the namedtuple implementation (pythonGH-20741)
  bpo-24914: mention Python supports multiple paradigms in the FAQ (python#20658)
  bpo-40854: PYTHONPLATLIBDIR env var added to 3.9 (pythonGH-20735)
  Add multicore support to deccheck.py. (pythonGH-20731)
  Remove deleted libmpdec header from the Visual Studio build machinery. (pythonGH-20730)
  bpo-40861: Enable optimizations when building liblzma (pythonGH-20724)
  bpo-40910: Export Py_GetArgcArgv() function (pythonGH-20721)
  bpo-40854: Allow overriding sys.platlibdir via PYTHONPLATLIBDIR env-var (pythonGH-20605)
  bpo-29882: Add _Py_popcount32() function (pythonGH-20518)
  bpo-33187: Document 3.9 changes to xml.etree.ElementInclude.include (pythonGH-20438)
  allow macOS installer builds to package pre-built html docs (pythonGH-20715)
  Deny eval() direct access to builtins (pythonGH-20713)
  bpo-22021: Update root_dir and base_dir documentation in shutil (pythonGH-10367)
  bpo-40741: Update macOS installer to use SQLite 3.32.2. (pythonGH-20705)
  bpo-40903: Handle multiple '=' in invalid assignment rules in the PEG parser (pythonGH-20697)
  bpo-39791 native hooks for importlib.resources.files (pythonGH-20576)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.