pantsbuild / scie-pants

Protects your Pants from the elements.
https://www.pantsbuild.org/docs/installation
Apache License 2.0
18 stars 17 forks source link

Fix PBS linking against libcrypt.so.1 for real. #344

Closed jsirois closed 5 months ago

jsirois commented 5 months ago

The prior PBS upgrade was to a version that claimed to have this fixed, but it was only fixed for 3.11 and not actually fixed for 3.{8,9,10}. This time we upgrade again to https://github.com/indygreg/python-build-standalone/releases/tag/20240107 which notes this is actually now fixed for those Pythons. A manual test of scie-pants 0.10.5 inside a fedora:37 container confirms the current broken status and mounting in a freshly build scie-pants using this change confirms a fix.

Fixes #52

jsirois commented 5 months ago

Existing latest scie-pants:

$ docker run --rm -it fedora:37
[root@79358947d724 /]# curl --proto '=https' --tlsv1.2 -fsSL https://static.pantsbuild.org/setup/get-pants.sh | bash
Downloading and installing the pants launcher ...
Installed the pants launcher from https://github.com/pantsbuild/scie-pants/releases/latest/download/scie-pants-linux-x86_64 to /root/.local/bin/pants

Running `pants` in a Pants-enabled repo will use the version of Pants configured for that repo.
In a repo not yet Pants-enabled, it will prompt you to set up Pants for that repo.
[root@79358947d724 /]# /root/.local/bin/pants -V
/root/.cache/nce/f3ff38b1ccae7dcebd8bbf2e533c9a984fac881de0ffd1636fbb61842bd924de/cpython-3.9.18+20231002-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.9: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
Error: Failed to establish atomic directory /root/.cache/nce/3d6643e46b53e4cc0b2a0d5c768866226ddce3de1f57f80c4a02d8d39800fa8e/locks/configure-81e4cd98985eaa00634cd6a4ef41ff86f6ea0a2e1aff632ce10c0f9d6f02e196. Population of work directory failed: Boot binding command failed: exit status: 127

Isolates your Pants from the elements.

Please select from the following boot commands:

<default> (when SCIE_BOOT is not set in the environment)  Detects the current Pants installation and launches it.
bootstrap-tools                                           Introspection tools for the Pants bootstrap process.
update                                                    Update scie-pants.

You can select a boot command by setting the SCIE_BOOT environment variable.
[root@79358947d724 /]#

With this fix:

$ docker run --rm -it -v $PWD/dist/scie-pants-linux-x86_64:/usr/bin/pants fedora:37
[root@132281b7c69b /]# pants -V
No Pants configuration was found at or above /.
Would you like to configure / as a Pants project? (Y/n):
Fetching latest stable Pants version since none is configured
Creating /pants.toml and configuring it to use Pants 2.18.2
Bootstrapping Pants 2.18.2
Installing pantsbuild.pants==2.18.2 into a virtual environment at /root/.cache/nce/124c5970822f57509bce2d394c6c2b8384ef32a8c16804c54fcb90dd79f99de1/bindings/venvs/2.18.2
Found existing installation: setuptools 58.1.0
Uninstalling setuptools-58.1.0:
  Successfully uninstalled setuptools-58.1.0
New virtual environment successfully created at /root/.cache/nce/124c5970822f57509bce2d394c6c2b8384ef32a8c16804c54fcb90dd79f99de1/bindings/venvs/2.18.2.
23:42:24.32 [INFO] Initializing scheduler...
23:42:24.50 [INFO] Scheduler initialized.
2.18.2
[root@132281b7c69b /]#
jsirois commented 5 months ago

In the past I would release these things, but it's probably best that a current maintainer does that.