Skip to content

Docker build is broken #1795

@tdruez

Description

@tdruez

Reported on the toolkit side at aboutcode-org/scancode-toolkit#4497

This is a side effect of the latest fingerprints 1.3.0 and normality 3.0.0 releases that introduce a dependency on pyicu, and this dependency fails to install.

The toolkit requirements are too loose regarding those 2 dependencies.
We should update the requirements to force fingerprints-1.2.3 and normality-2.6.1.

Collecting normality<4.0.0,>=3.0.1 (from fingerprints>=0.6.0->scancode-toolkit==32.4.0->scancode-toolkit[packages]==32.4.0->scancodeio==35.1.0)
#15 13.73   Downloading normality-3.0.1-py3-none-any.whl.metadata (3.6 kB)
#15 13.74 Collecting banal>=1.0.1 (from normality<4.0.0,>=3.0.1->fingerprints>=0.6.0->scancode-toolkit==32.4.0->scancode-toolkit[packages]==32.4.0->scancodeio==35.1.0)
#15 13.76   Downloading banal-1.0.6-py2.py3-none-any.whl.metadata (1.4 kB)
#15 13.77 Collecting pyicu>=2.10.0 (from normality<4.0.0,>=3.0.1->fingerprints>=0.6.0->scancode-toolkit==32.4.0->scancode-toolkit[packages]==32.4.0->scancodeio==35.1.0)
#15 13.79   Downloading pyicu-2.15.2.tar.gz (267 kB)
#15 13.85   Installing build dependencies: started
#15 15.15   Installing build dependencies: finished with status 'done'
#15 15.15   Getting requirements to build wheel: started
#15 15.77   Getting requirements to build wheel: finished with status 'error'
#15 15.78   error: subprocess-exited-with-error
#15 15.78   
#15 15.78   × Getting requirements to build wheel did not run successfully.
#15 15.78   │ exit code: 1
#15 15.78   ╰─> [86 lines of output]
#15 15.78       (running 'icu-config --version')
#15 15.78       (running 'pkg-config --modversion icu-i18n')
#15 15.78       Traceback (most recent call last):
#15 15.78         File "<string>", line 89, in <module>
#15 15.78         File "<frozen os>", line 717, in __getitem__
#15 15.78       KeyError: 'ICU_VERSION'
#15 15.78       
#15 15.78       During handling of the above exception, another exception occurred:
#15 15.78       
#15 15.78       Traceback (most recent call last):
#15 15.78         File "<string>", line 92, in <module>
#15 15.78         File "<string>", line 19, in check_output
#15 15.78       
#15 15.78       Traceback (most recent call last):
#15 15.78         File "/opt/scancodeio/.venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
#15 15.78           main()
#15 15.78           ~~~~^^
#15 15.78         File "/opt/scancodeio/.venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
#15 15.78           json_out["return_val"] = hook(**hook_input["kwargs"])
#15 15.78                                    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
#15 15.78         File "/opt/scancodeio/.venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
#15 15.78           return hook(config_settings)
#15 15.78         File "/tmp/pip-build-env-vw0jzdq0/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
#15 15.78           return self._get_build_requires(config_settings, requirements=[])
#15 15.78                  ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#15 15.78         File "/tmp/pip-build-env-vw0jzdq0/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
#15 15.78           self.run_setup()
#15 15.78           ~~~~~~~~~~~~~~^^
#15 15.78         File "/tmp/pip-build-env-vw0jzdq0/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 317, in run_setup
#15 15.78           exec(code, locals())
#15 15.78           ~~~~^^^^^^^^^^^^^^^^
#15 15.78         File "<string>", line 99, in <module>
#15 15.78       RuntimeError:
#15 15.78       Please install pkg-config on your system or set the ICU_VERSION environment
#15 15.78       variable to the version of ICU you have installed.
#15 15.78       
#15 15.78       [end of output]
#15 15.78   
#15 15.78   note: This error originates from a subprocess, and is likely not a problem with pip.
#15 15.86 
#15 15.86 [notice] A new release of pip is available: 25.1.1 -> 25.2
#15 15.86 [notice] To update, run: pip install --upgrade pip
#15 15.86 error: subprocess-exited-with-error
#15 15.86 
#15 15.86 × Getting requirements to build wheel did not run successfully.
#15 15.86 │ exit code: 1
#15 15.86 ╰─> See above for output.
#15 15.86 
#15 15.86 note: This error originates from a subprocess, and is likely not a problem with pip.
#15 ERROR: process "/bin/sh -c pip install --no-cache-dir ." did not complete successfully: exit code: 1
------
 > [worker  9/10] RUN pip install --no-cache-dir .:
15.86 
Notice: 15.86 [notice] A new release of pip is available: 25.1.1 -> 25.2
Notice: 15.86 [notice] To update, run: pip install --upgrade pip
15.86 error: subprocess-exited-with-error
15.86 
15.86 × Getting requirements to build wheel did not run successfully.
15.86 │ exit code: 1
15.86 ╰─> See above for output.
15.86 
15.86 note: This error originates from a subprocess, and is likely not a problem with pip.
------
Dockerfile:91
--------------------
  89 |     # Install the dependencies before the codebase COPY for proper Docker layer caching
  90 |     COPY --chown=$APP_USER:$APP_USER pyproject.toml $APP_DIR/
  91 | >>> RUN pip install --no-cache-dir .
  92 |     
  93 |     # Copy the codebase and set the proper permissions for the APP_USER
--------------------
target worker: failed to solve: process "/bin/sh -c pip install --no-cache-dir ." did not complete successfully: exit code: 1
Error: Process completed with exit code 1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions