Missing gtk2-engines-clearlookspix errors build release

I built a custom project 3 weeks ago. The remote build worked and deployed to one edge device. The relevant lines from the Dockerfile are:

FROM balenablocks/audio:%%BALENA_MACHINE_NAME%%
RUN install_packages gtk2-engines-clearlookspix

The same project now fails because missing package gtk2-engines-clearlookspix on Alpine Linux:

[main]     fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/armv7/APKINDEX.tar.gz
[main]     fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/armv7/APKINDEX.tar.gz
[main]     ERROR: unable to select packages:
[main]     
[main]       gtk2-engines-clearlookspix (no such package):
[main]         required by: world[gtk2-engines-clearlookspix]
[main]       iceweasel (no such package):
[main]         required by: world[iceweasel]
[main]       python3-picamera (no such package):
[main]         required by: world[python3-picamera]
[main]       python3-pip (no such package):
[main]         required by: world[python3-pip]
[main]       raspberrypi-ui-mods (no such package):
[main]         required by: world[raspberrypi-ui-mods]
[main]       rpd-icons (no such package):
[main]         required by: world[rpd-icons]
[main]       xserver-xorg-core (no such package):
[main]         required by: world[xserver-xorg-core]
[main]     Removing intermediate container 26f6a2b38842
[main]     The command '/bin/sh -c install_packages gtk2-engines-clearlookspix' returned a non-zero code: 7
...
[Error]    Not deploying release.

I have git version control so I am sure that this same code successfully deployed three weeks ago.

How can I fix the issue of the missing package?

Hello,
In the timeline you mentioned, the base image for the audio block was changed from Debain to Alpine with this PR (base image: use alpine instead of debian by tmigone · Pull Request #70 · balenablocks/audio · GitHub). I tried to search a bit about the package that you mentioned that was missing and it seems like the package isn’t available for Alpine yet and only Debian (Raspbian). It didn’t show up in the inital search I did here https://pkgs.org/search/?q=gtk2-engines-clearlookspix

1 Like

Yes, indeed, that explains the issue. I should have clicked at the word “Alpine”. I’m not tied to the audio block, could you recommend another image that works on Raspberry Pi 3 B+, a camera, and an Adafruit speaker bonnet?

Hey @bulgy … just a though, why not just take the Dockerfile.template before the change and modify your Dockerfile accordingly? Since you are not dependent on the audio block, you can also remove the stuff you don’t need. Seems like FROM balenalib/%%BALENA_MACHINE_NAME%%-debian:buster-run is where the magic is at. Would that work for you?

@toochevere Indeed, that works! I used the balenablocks/audio code in version 0.1.13 on Github, before moving from Buster to Alpine: v0.1.13 · balenablocks/audio@8ef686a · GitHub

I copied the relevant code in Dockerfile.template, the files in audiopulse/ and udev/, and adjusted the code in the template to my case, such as WORKDIR, ENTRYPOINT and CMD.

It seems to work as before. Thanks a lot!