python-poetry / python-poetry/install.python-poetry.org

Does not work with a shared libpython3.so on run-time search path

Aperta
#79 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
255
Fork
65
Merge medio
2h 48m
PR unite (30g)
1

Descrizione

I'm using the CPython configure flags --enable-shared with an rpath interpolation (LDFLAGS). Linux platform (RHEL 8.3).

The interpreter's stdlib venv works just fine, but poetry installer doesn't like something about that config

$ readelf -d /usr/local/bin/python3.11 | grep rpath
 0x000000000000000f (RPATH)              Library rpath: [$ORIGIN/../lib]
$ ldd /usr/local/bin/python3.11 | grep libpython
	libpython3.11.so.1.0 => /usr/local/bin/../lib/libpython3.11.so.1.0 (0x00007ffff7632000)
$ curl -sSL https://install.python-poetry.org | /usr/local/bin/python3.11 -
Retrieving Poetry metadata

# Welcome to Poetry!

This will download and install the latest version of Poetry,
a dependency and package manager for Python.

It will add the `poetry` command to Poetry's bin directory, located at:

/home/wglenn/.local/bin

You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.

Installing Poetry (1.2.2): An error occurred. Removing partial environment.
Poetry installation failed.
See /home/wglenn/git/python/poetry-installer-error-t8owbf6b.log for error logs.

The log:

$ cat /home/wglenn/git/python/poetry-installer-error-t8owbf6b.log
/home/wglenn/.local/share/pypoetry/venv/bin/python3.11: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory

Traceback:

  File "<stdin>", line 919, in main
  File "<stdin>", line 552, in run

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il malfunzionamento della libreria condivisa con il comando dell’installer e ispeziona il codice dell’installer intorno alle posizioni run e main segnalate (righe 552 e 919). Il lavoro è completato quando l’installer termina correttamente usando Python con una shared libpython3.so trovata tramite il suo percorso di ricerca a runtime.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.