nf-core / nf-core/modules

Pipelines do not work on ARM systems (e.g. Macbooks with M1/M2)

Open
#2,188 9 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.