Pipelines do not work on ARM systems (e.g. Macbooks with M1/M2)
Open
@ChristianKniep is already working on this.
Since Oct 10, 2022.
bug
- Dominant language
- Nextflow
- Stars
- 429
- Forks
- 1.1k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 153
Description
Have you checked the docs?
Description of the bug
The biocontainers images only support amd64 images (Intel/AMD CPUs) and thus, running pipelines on those machines will fail with an error similar to this one:
WARNING: The requested image's platform (linux/amd64) does not match the
detected host platform (linux/arm64/v8) and no specific platform was requested
Reason being that images are just build for amd64 and no option is given to also pick an ARM image:
$ manifest-tool inspect quay.io/biocontainers/blast:2.13.0--hf3cf87c_0
quay.io/biocontainers/blast:2.13.0--hf3cf87c_0: manifest type: application/vnd.docker.distribution.manifest.v2+json
Digest: sha256:221b0ab5540cf7c4013b51b60b2c66113104a5b700611d411ae25eb5904f78d8
Architecture: amd64
OS: linux
# Layers: 3
layer 1: digest = sha256:73349e34840e6f54750ec5df84f447c2a01df267a601af1ca0ee7dffed8715f3
layer 2: digest = sha256:acab339ca1e8ed7aefa2b4c271176a7787663685bf8759f5ce69b40e4bd7ef86
layer 3: digest = sha256:1a4ef5ea54c9a0c4cd84005215beddb4745c86663945d9ac7b11ea42f237cd1f
Since the quay.io/biocontainers repository is hard-coded in Nextflow it is hard to select different images from other repositories.
Blast-Example
This also applies to the blast-example.
$ docker run -ti --rm nextflow/examples
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
root@1b9d4420be97:/#
This blast command below just hangs forever, since the blastp command is an x86_64 binary.
$ file /opt/ncbi-blast-2.2.29+/bin/blastp
/opt/ncbi-blast-2.2.29+/bin/blastp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
Command used and terminal output
$ ./nextflow run blast-example -with-docker
N E X T F L O W ~ version 22.04.5
Launching `https://github.com/nextflow-io/blast-example` [drunk_kalam] DSL2 - revision: c7e4282e26 [master]
executor > local (1)
[27/4b2770] process > blast (1) [ 0%] 0 of 1
[- ] process > extract -
Relevant files
No response
System information
Macbook Pro (Apple Silicon - M1 Max)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.