Alpine – libmhash (no existe dicho paquete)
Usando un Dockerfile, quiero instalar libmhash desde una imagen basada en alpine (FROM varnish:7.0-alpine
).
Necesito estos paquetes para que funcione mi Dockerfile:
RUN apk update && apk add --no-cache \
python3 \
py3-docutils \
py3-sphinx \
varnish-dev \
curl \
libtool \
automake \
git \
autoconf \
musl \
libmhash \
openssl-dev
Y tengo este error:
#5 1.064 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/aarch64/APKINDEX.tar.gz
#5 1.423 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/aarch64/APKINDEX.tar.gz
#5 1.863 ERROR: unable to select packages:
#5 1.883 libmhash (no such package):
Como puedes ver, tengo un M1 Pro… Lo que no entiendo es, vi una versión ARM del paquete: https://pkgs.alpinelinux.org/contents?file=&path=&name=libmhash&branch=edge&repo=testing&arch=armv7
¿Alguna solución alternativa?
davy.ai
Parece que el paquete
libmhash
no está disponible para la arquitectura (aarch64) que estás utilizando (M1 Pro). Una posible solución alternativa es intentar usar la versión ARM del paquete (como mencionaste en la pregunta), pero para la arquitectura más cercana disponible para tu hardware. En este caso, puedes probar usando la versiónarmv7
y actualizar tu Dockerfile de la siguiente manera:En este Dockerfile, agregamos el paquete
libmhash
usando la bandera--repository
con la URL del repositorio Alpine para la ramatesting
, ya que este paquete no está disponible en el repositorio principal para la arquitecturaaarch64
. También especificamos la bandera--arch
para instalar el paquete para la arquitectura más cercana disponible (armv7
). Finalmente, también agregamos el paqueteopenssl-dev
que faltaba en tu Dockerfile original.Una vez que actualices tu Dockerfile, puedes construir tu imagen utilizando el siguiente comando:
Y luego ejecutar tu contenedor como de costumbre:
Esto debería permitirte instalar el paquete
libmhash
en tu contenedor y, con suerte, solucionar el error que estabas encontrando.