qmk / qmk/qmk_cli

[Bug] qmk make fails with latest ghcr.io/qmk/qmk_cli due to missing Python packages.

Open
#220 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
187
Forks
53
PR merge metrics
No merged PRs in 30d

Description

Describe the Bug

In a qmk_firmware 1.26–based environment, the Docker build that was previously executed via util/docker_build.sh no longer works.

When I echo the docker run command and execute it manually, it fails with the following behavior/error:

$ docker run --rm -it   \
  --privileged -v /dev:/dev   \
  --user 1000:1000   \
  -w /qmk_firmware   \
  -v /home/taniyama/qmk_firmware:/qmk_firmware:z \
  -e SKIP_GIT= \
  -e SKIP_VERSION=  \
  -e MAKEFLAGS=   \
  ghcr.io/qmk/qmk_cli \
  make dz60:default

Please run `/opt/uv/tools/qmk/bin/python3 -m pip install -r /qmk_firmware/requirements.txt` to install required python dependencies.
make: *** No rule to make target 'dz60:default'. Stop.
|
| QMK's make format is:
|     make keyboard_folder:keymap_folder[:target]
|
| Where `keyboard_folder` is the path to the keyboard relative to
| `qmk_firmware/keyboards/`, and `keymap_folder` is the name of the
| keymap folder under that board's `keymaps/` directory.
|
| Examples:
|     keyboards/dz60, keyboards/dz60/keymaps/default
|       -> make dz60:default
|       -> qmk compile -kb dz60 -km default
|     keyboards/planck/rev6, keyboards/planck/keymaps/default
|       -> make planck/rev6:default:flash
|       -> qmk flash -kb planck/rev6 -km default
|
ERROR: Cannot run "qmk hello"!

 Please run qmk setup to install all the dependencies QMK requires.

make: *** [Makefile:402: dz60:default] Error 1

When using an older Docker image specified by its sha256 digest, the build succeeds.
ex. ghcr.io/qmk/qmk_cli@sha256:d8ebfab96c46d3ab948dd4e87be8a976095bd31268700021a74716cbd6e5b4c1

Making dz60 with keymap default

Generating: .build/obj_dz60_default/src/info_deps.d                                                 [OK]
Additional Context?

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with util/docker_build.sh, the Docker image dependency setup, and requirements.txt; reproduce the reported docker run command and compare the latest ghcr.io/qmk/qmk_cli image with the working sha256 image. Check the Makefile:402 failure after dependencies are installed. Done means the current image installs the required Python packages and successfully runs make dz60:default.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
build-system, cli, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.