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

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

Open
#79 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
255
Forks
65
Avg merge
2h 48m
Merged PRs (30d)
1

Description

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the shared-library failure with the installer command and inspect the installer code around the reported run and main locations (lines 552 and 919). Done means the installer completes successfully when Python uses a shared libpython3.so found through its runtime search path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.