Qt-based wayland images of bullseye branch are not starting correctly due to missing bash

Your qt-based wayland images, such as the ones created with qt5-wayland-examples/Dockerfile coming from the bullseye branch are not starting due to a missing bash.

When following your QT Debian for Torizon tutorial and starting the weston container with
docker run -d --rm --name=weston --net=host --cap-add CAP_SYS_TTY_CONFIG \ -v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \ --device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' --device-cgroup-rule='c 226:* rmw' \ torizon/weston:$CT_TAG_WESTON --developer weston-launch --tty=/dev/tty7 --user=torizon
and starting the qt container with
# docker run --rm -it --name=qt5 \ -v /tmp:/tmp \ -v /dev/dri:/dev/dri --device-cgroup-rule='c 226:* rmw' \ torizon/qt5-wayland-examples:$CT_TAG_QT5_WAYLAND_EXAMPLES
these for instance result in
torizon/qt5-wayland-examples->docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"|1\": executable file not found in $PATH": unknown.

The current workaround: starting the last container with
docker run --rm -it --entrypoint=bash --name=qt5-14-2 \ -v /tmp:/tmp \ -v /home/torizon/:/home/torizon/ \ -v /dev/dri:/dev/dri --device-cgroup-rule='c 226:* rmw' \ torizon/qt5-wayland-examples:$CT_TAG_QT5_WAYLAND_EXAMPLES
which considers the flag --entrypoint=bash.
But obviously this is not intended by you since all the images having $CT_TAG_QT5_WAYLAND_EXAMPLES=1 and other branches having $CT_TAG_QT5_WAYLAND_EXAMPLES=2 are starting correctly as described in the tutorial.

Greetings @Marcus,

I believe you may have copied the 2nd command for starting the Qt container incorrectly. The command as it’s listed in the article is:

docker run --rm -it --name=qt5 \
             -v /tmp:/tmp \
             -v /dev/dri:/dev/dri --device-cgroup-rule='c 226:* rmw' \
             torizon/qt5-wayland-examples:$CT_TAG_QT5_WAYLAND_EXAMPLES \
             bash

You seem to be missing the “bash” at the end of the command. When I remove this and run the command I get the error you showed, so I believe this to be the issue.

Best Regards,
Jeremias

Hi Jeremias.

Thank you for your answer.

Your docker run command is working, too. I checked this.
Alternatively, you can use the “–entrypoint=bash” flag I have posted.
My post was rather mentioned as a clue since the “\ bash” flag seems to be new.
However, you are doing a great job.

Best regards,

Marcus

You are welcome. Thanks for the Feedback.

Best regards,
Jaski