← All tasks
pythonnumba/llvmlite #1399Not a task: not reproduced

Unable to build for alpine with setuptools >= 81.0

envgap__numba__llvmlite-1399

01 / FAILURE SIGNATURE

As reported upstream

#8 1.209       TypeError: spawn() got an unexpected keyword argument 'dry_run'
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
bf28f7541cf24184e61de32dc8d71214c842414c
Manifest
setup.py
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

numba/llvmlite #1399 · read the original issue
<!--

Thanks for opening an issue! To help the Numba team handle your information
efficiently, please first ensure that there is no other issue present that
already describes the issue you have
(search at https://github.com/numba/llvmlite/issues?&q=is%3Aissue).

-->

## Reporting a bug

<!--

Before submitting a bug report please ensure that you can check off these boxes:

-->

- [x] I have tried using the latest released version of llvmlite (most recent is
 visible in the change log (https://github.com/numba/llvmlite/blob/main/CHANGE_LOG).
- [x] I have included a self contained code sample to reproduce the problem.
  i.e. it's possible to run as 'python bug.py'.


When installing on alpine, newer versions of setuptools >=[81.0.0](https://setuptools.pypa.io/en/stable/history.html#v81-0-0) can't be used due to the removal of the `--dry-run` parameter when enforcing PEP517, e.g. as mandated by poetry. 

To reproduce:
This works:
```
FROM python:3.12-alpine

RUN apk add --no-cache \
    build-base \
    llvm20-dev \
    llvm20-static \
    llvm20-gtest \
    cmake

RUN pip install --upgrade pip "setuptools==80.10.2"
RUN echo "setuptools==80.10.2" > /tmp/constraints.txt
ENV PIP_CONSTRAINT=/tmp/constraints.txt
RUN pip install --no-cache-dir --use-pep517 "llvmlite (==0.46.0)"
``` 
This doesn't:
```
FROM python:3.12-alpine

RUN apk add --no-cache \
    build-base \
    llvm20-dev \
    llvm20-static \
    llvm20-gtest \
    cmake

RUN pip install --upgrade pip "setuptools==81.0.0"
RUN echo "setuptools==81.0.0" > /tmp/constraints.txt
ENV PIP_CONSTRAINT=/tmp/constraints.txt
RUN pip install --no-cache-dir --use-pep517 "llvmlite (==0.46.0)"
```

Output:
```
#8 1.209       Traceback (most recent call last):
#8 1.209         File "/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
#8 1.209           main()
#8 1.209         File "/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
#8 1.209           json_out["return_val"] = hook(**hook_input["kwargs"])
#8 1.209                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#8 1.209         File "/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
#8 1.209           return _build_backend().build_wheel(
#8 1.209                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 441, in build_wheel
#8 1.209           return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
#8 1.209                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 429, in _build
#8 1.209           return self._build_with_temp_dir(
#8 1.209                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 410, in _build_with_temp_dir
#8 1.209           self.run_setup()
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 520, in run_setup
#8 1.209           super().run_setup(setup_script=setup_script)
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 317, in run_setup
#8 1.209           exec(code, locals())
#8 1.209         File "<string>", line 187, in <module>
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 117, in setup
#8 1.209           return distutils.core.setup(**attrs)  # type: ignore[return-value]
#8 1.209                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 186, in setup
#8 1.209           return run_commands(dist)
#8 1.209                  ^^^^^^^^^^^^^^^^^^
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
#8 1.209           dist.run_commands()
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1000, in run_commands
#8 1.209           self.run_command(cmd)
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 1107, in run_command
#8 1.209           super().run_command(command)
#8 1.209         File "/tmp/pip-build-env-0r215jkh/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
#8 1.209           cmd_obj.run()
#8 1.209         File "<string>", line 149, in run
#8 1.209         File "<string>", line 67, in build_library_files
#8 1.209       TypeError: spawn() got an unexpected keyword argument 'dry_run'
#8 1.209       [end of output]

```

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]