Hey everyone, trying to get pants to install in an...
# general
e
Hey everyone, trying to get pants to install in an alpine busybox image (docker:26.1.4-dind). I had to edit the `get-pants.sh`script to use
sha256sum ~--status~ <other_args>
because busybox sha256 doesn't have the --status option, but then pants is downloaded correctly. First install gives me problems though:
Copy code
/app # /root/.local/bin/pants 
Error: Failed to establish atomic directory /root/.cache/nce/ab1acf935c4cc43338c604ae7d0f6aa2419f2415d94eb9cae381601dbba70a61/locks/configure-0396e38ee35908f2900222e74f164e69cffaabc49ab6340c41ff10dea810ec6f. Population of work directory failed: Failed to launch boot binding: Failed to spawn "/root/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.9" ["/root/.cache/nce/c7ca7c7173ed1f04bf4bb2312062c3a66ecb8e6617c77fd4f59135973c0688f7/tools.pex", "configure-pants", "--ptex-path", "/root/.cache/nce/22652cf60b12e7a187ea0cf21d7bc9d8234bbb630fa94ca6f9c28655bd6a81fb/ptex-linux-x86_64", "--pants-version", "2.21.0", "--pants-config", "", "--github-api-bearer-token", "", "--pants-bootstrap-urls", "", "/root/.cache/nce/ab1acf935c4cc43338c604ae7d0f6aa2419f2415d94eb9cae381601dbba70a61/bindings"]: No such file or directory (os error 2)

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.
I've navigated to
"/root/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.9"
and it definitely exists, but also, the OS can't find it.
Copy code
/app # ls -l "/root/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.
9"
-rwxr-xr-x    1 root     root         20944 Aug  9 11:12 /root/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.9
Copy code
/app # "/root/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.9"
sh: /root/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/bin/python3.9: not found
Curious if anyone has seen this or has any guesses how to solve
b
My guess would be that Python interpreter relies on glibc being installed but alpine doesn’t have that (iirc, it’s a musl libc based distribution). No suggestion for how to solve, yet, though
e
ended up working around by using an alternative ubuntu-dind image, though its not provided by the docker group themselves so there's a little more risk in adopting that
👍 1
c
Not sure if this helps but I ran into a similar issue due to -- I think -- $TMPDIR not existing