container defaults to installing packages from source, rather than binary
Closed this issue · 2 comments
For instance pulling today I have
root@8fc4afe31c40:/# env|grep BIOC
BIOCONDUCTOR_VERSION=3.17
BIOCONDUCTOR_USE_CONTAINER_REPOSITORY=FALSE
BIOCONDUCTOR_NAME=bioconductor_docker
BIOCONDUCTOR_DOCKER_VERSION=3.17.34
And the BIOCONDUCTOR_USE_CONTAINER_REPOSITORY=FALSE
means that we don't use the binaries.
I guess it is that the three (??) times the environment variable is set, e.g., at
bioconductor_docker/Dockerfile
Line 7 in a9a324b
This is expected. It is defaulting to source because you are using the arm64 container, since you are running on an M1 mac. This is expected as binaries are not compatible with that container architecture, although we do have built binaries for the arm64 containers, they are not yet propagated. This is why they are failing after you turn them on. You can use --platform=linux/amd64
with your docker command to force the amd64 container if you want to use the binaries, but that might have performance implications in your compute time since would be running with an emulator. Please re-open if it seems wrong
thanks for clarifying, and for building across architectures. To confirm, yes under --platform/amd64
the container is configured for binary installation, and the binaries work. Emulation is slow!