Stereo
Stereo

Reputation: 1193

Docker Alpine linux package masked

I am trying to install a package on my docker image that runs alpine but I get the following error,

Removing intermediate container 54bbe0932899
Step 14 : RUN apk add openblas openblas-dev --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
 ---> Running in 24d7a8c00c89
fetch http://dl-3.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  openblas-0.2.19-r0:
    masked in: @community
    satisfies: world[openblas]
               openblas-dev-0.2.19-r0[openblas=0.2.19-r0]
  openblas-ilp64-0.2.19-r0:
    masked in: @community
    satisfies:
               openblas-dev-0.2.19-r0[openblas-ilp64=0.2.19-r0]
  openblas-dev-0.2.19-r0:
    masked in: @community
    satisfies: world[openblas-dev]
ERROR: Service 'web' failed to build: The command '/bin/sh -c apk add openblas openblas-dev --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted' returned a non-zero code: 3

Important part of the Dockerfile:

FROM python:3.5.2-alpine

ADD repositories /etc/apk/repositories

RUN apk upgrade --update
RUN apk add --update libstdc++ curl ca-certificates bash
RUN apk add openblas openblas-dev --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
RUN apk add --update py-scipy py-numpy py-numpy-dev

The repository file is

http://dl-cdn.alpinelinux.org/alpine/v3.4/main
@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing
@community http://dl-cdn.alpinelinux.org/alpine/edge/community

How I can force the installation of openblas?

I am new to alpine so apologies if this is a straight forward question.

Upvotes: 1

Views: 3902

Answers (1)

Stereo
Stereo

Reputation: 1193

I found the solution,

the following line:

RUN apk add openblas openblas-dev --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted

should be

RUN apk add openblas@community openblas-dev@community --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community/ --allow-untrusted

Now docker continues to the next stage.

Upvotes: 4

Related Questions