Describe the bug
Trying to build pexes for Linux on a mac via a docker container will sometimes fail. This only affects mac->linux builds, because of the weirdness of docker on mac.
In 2.33.0, pants started using python 3.14. A change introduced there causes pex's multiprocessing use to try to create a UNIX socket in the bind mount (since the temp dir is inside the sandbox, which is shared with the host OS). This fails with
[Errno 22] Invalid argument: '/pants-sandbox/pants-sandbox-uOpBP2/.tmp/pymp-j_z_u9v6/sock-d3zx1djz'
This is because UNIX sockets on bind mounts are not supported. @jsirois released a new pex version that lets you skip using mulitprocessing when using --jobs=1, but that's not really a correct solution, just a workaround.
I think correct solution is setting the TMPDIR to be in the filesystem of the docker container, even though... it's a sandbox. But, as long as it works...
The reason it sometimes works is that pex sometimes picks not to use multiprocessing.
Pants version
2.33.0
OS
macOS only as it's because of the interaction between the docker VM and the host OS.
Additional info
Add any other information about the problem here, such as attachments or links to gists, if relevant.
Describe the bug
Trying to build pexes for Linux on a mac via a docker container will sometimes fail. This only affects mac->linux builds, because of the weirdness of docker on mac.
In 2.33.0, pants started using python 3.14. A change introduced there causes pex's multiprocessing use to try to create a UNIX socket in the bind mount (since the temp dir is inside the sandbox, which is shared with the host OS). This fails with
This is because UNIX sockets on bind mounts are not supported. @jsirois released a new pex version that lets you skip using mulitprocessing when using
--jobs=1, but that's not really a correct solution, just a workaround.I think correct solution is setting the TMPDIR to be in the filesystem of the docker container, even though... it's a sandbox. But, as long as it works...
The reason it sometimes works is that pex sometimes picks not to use multiprocessing.
Pants version
2.33.0
OS
macOS only as it's because of the interaction between the docker VM and the host OS.
Additional info
Add any other information about the problem here, such as attachments or links to gists, if relevant.