python / python/cpython

Running Python from the build directory can lead to wrong `libpython` being loaded

Offen
#128,469 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

build type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature or enhancement

Proposal:

Right now, since we don't set RPATH, when using a shared libpython and running Python from the build directory, the library might resolve to the system, instead of the local one.

If possible, it would be good to set RPATH on the Python binary in the build directory, to force the local libpython library to be loaded. It would also be preferred to use RPATH instead of RUNPATH, as the prior has precedence over LD_LIBRARY_PATH, which users might have set.

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-128470
  • gh-128645
  • gh-129506

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Prüfe zuerst die verlinkten Pull Requests gh-128470, gh-128645 und gh-129506, da sie die vorgeschlagene Änderung zum Laden aus dem Build-Verzeichnis abdecken. Stelle sicher, dass das Ausführen von Python aus dem Build-Verzeichnis die lokale Shared Library libpython lädt und dass, sofern unterstützt, RPATH anstelle von RUNPATH verwendet wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.