Open
Description
Describe the bug
I'm trying to run pants
inside a docker container using linux/amd64
platform from a M1 Mac. The following exception is raised when running pants --version
. As far as I understand this is coming from some QEMU emulation layer, but I'm not versed enough in it to know what is happening.
#8 [5/5] RUN pants --no-pantsd --version
#8 20.09 Bootstrapping Pants 2.15.0 using cpython 3.9.16
#8 20.09 Installing pantsbuild.pants==2.15.0 into a virtual environment at /root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0
#8 42.24 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 3.9 MB/s eta 0:00:00
#8 44.80 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 819.3/819.3 KB 18.9 MB/s eta 0:00:00
#8 45.23 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 KB 7.2 MB/s eta 0:00:00
#8 116.3 New virtual environment successfully created at /root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0.
#8 127.7 Exception caught: (builtins.ValueError)
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/bin/pants", line 8, in <module>
#8 127.7 sys.exit(main())
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/bin/pants_loader.py", line 123, in main
#8 127.7 PantsLoader.main()
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/bin/pants_loader.py", line 110, in main
#8 127.7 cls.run_default_entrypoint()
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/bin/pants_loader.py", line 92, in run_default_entrypoint
#8 127.7 exit_code = runner.run(start_time)
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/bin/pants_runner.py", line 99, in run
#8 127.7 runner = LocalPantsRunner.create(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/bin/local_pants_runner.py", line 86, in create
#8 127.7 options_initializer = options_initializer or OptionsInitializer(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/init/options_initializer.py", line 103, in __init__
#8 127.7 self._bootstrap_scheduler = create_bootstrap_scheduler(options_bootstrapper, executor)
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/init/options_initializer.py", line 75, in create_bootstrap_scheduler
#8 127.7 EngineInitializer.setup_graph(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/init/engine_initializer.py", line 198, in setup_graph
#8 127.7 return EngineInitializer.setup_graph_extended(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/init/engine_initializer.py", line 338, in setup_graph_extended
#8 127.7 scheduler = Scheduler(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/engine/internals/scheduler.py", line 216, in __init__
#8 127.7 self._py_scheduler = native_engine.scheduler_create(
#8 127.7
#8 127.7 Exception message: Failed to begin watching the filesystem: Function not implemented (os error 38)
#8 127.7 NoneType: None
#8 ERROR: process "/bin/sh -c pants --no-pantsd --version" did not complete successfully: exit code: 1
------
> [5/5] RUN pants --no-pantsd --version:
#8 127.7 EngineInitializer.setup_graph(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/init/engine_initializer.py", line 198, in setup_graph
#8 127.7 return EngineInitializer.setup_graph_extended(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/init/engine_initializer.py", line 338, in setup_graph_extended
#8 127.7 scheduler = Scheduler(
#8 127.7 File "/root/.cache/nce/c55ee58a557d20bd4b109870e5a01b264c0d501ce817cce29502b2552903834d/bindings/venvs/2.15.0/lib/python3.9/site-packages/pants/engine/internals/scheduler.py", line 216, in __init__
#8 127.7 self._py_scheduler = native_engine.scheduler_create(
#8 127.7
#8 127.7 Exception message: Failed to begin watching the filesystem: Function not implemented (os error 38)
#8 127.7 NoneType: None
------
Dockerfile:10
--------------------
8 |
9 | RUN echo "[GLOBAL]\npants_version = \"2.15.0\"" >> pants.toml
10 | >>> RUN pants --no-pantsd --version
11 |
--------------------
ERROR: failed to solve: process "/bin/sh -c pants --no-pantsd --version" did not complete successfully: exit code: 1
Pants version
2.15 (same with 2.16)
OS
Apple M1 Pro MacOS with Ventura 13.4.1
Additional info
The following simple dockerfile is enough to reproduce this problem (at least in a M1 device).
FROM --platform=linux/amd64 debian:stable-slim
ENV PATH="/root/bin:$PATH"
RUN apt-get update && apt-get install -y curl
RUN curl --proto '=https' --tlsv1.2 -fsSL https://static.pantsbuild.org/setup/get-pants.sh | bash
RUN echo "[GLOBAL]\npants_version = \"2.16.0\"" >> pants.toml
RUN pants --no-pantsd --version
Activity