Search code examples
dockeralpine-linuxpocketsphinx

Docker - Installing packages on Alpine distro that aren't available in the Alpine repository


I have a docker image running on the Alpine distro and in order to get one of my requiements to work - pocketsphinx==0.1.15, I have to install a few dependencies inside my DockerFile:

FROM python:3.7-alpine

RUN apk update && \
    apk add --virtual build-deps gcc musl-dev && \
    apk add --no-cache postgresql-dev && \
    apk add ffmpeg && \     
    apk add swig && \
    apk add libasound2-dev && \
    rm -rf /var/cache/apk/*

Luckily, ffmpeg and swig are both available in the Alpine package repository, but libasound2-dev unfortunately is not. I'm trying to avoid having to move from the Alpine distro to Ubuntu but am not sure if it's even possible to install libasound2-dev on an Alpine image. Is there a way to achieve this? Thank you!


Solution

  • Sometimes the packages have different names between distros. In your case the package that provides those header files is alsa-lib-dev.

    You can check by yourself by comparing the package contents on their site.

    https://pkgs.alpinelinux.org/contents?file=&path=&name=alsa-lib-dev&branch=v3.9&repo=main&arch=x86_64

    https://packages.ubuntu.com/bionic/amd64/libasound2-dev/filelist