I struggling with the first step of running the te...
# proteinfamilies
n
I struggling with the first step of running the test setup: nextflow run nf-core/proteinfamilies -profile test,docker --outdir protfam_test. I'm getting an 132 error which I think is an arm/amd64 issue. I have added runOptions = "--platform=linux/amd64" to my confing file but no luck. Any recommendations?
i
probably worth searching slack for “linux/arm64/v8” - looks like this has come up a few times?
👍 1
e
I've no idea, I would also search for this in slack history as Ian suggested. It's a good thing you also asked this on the help channel..let's wait for further directions.
Also, make sure the line you've added is
docker.runOptions = '--platform=linux/amd64'
in the nextflow.config file under docker parameters
✅ 1
i
For info, this issue is repeatable for me too (presume we are using similar M3 laptops): Running:
Copy code
nextflow run nf-core/proteinfamilies -profile test,docker --outdir protfam_test
Error:
Copy code
Command error:
  WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
  .command.sh: line 12:    35 Illegal instruction     mmseqs createdb mgnifams_input_small.fa mgnifams_test/mgnifams_test

Container:
  <http://quay.io/biocontainers/mmseqs2:17.b804f--hd6d6fdc_1|quay.io/biocontainers/mmseqs2:17.b804f--hd6d6fdc_1>
e
My comment above should be enough I think
Let me know when you try that
and try with
--profile arm,docker
I see that the
docker.runOptions
are already set under arm, so you don't need to change anything in the
nextflow.config
file. Just change your run command to:
nextflow run nf-core/proteinfamilies -profile test,arm,docker --outdir protfam_test
i
Looks like this is already there under the
arm
profile.
Copy code
docker {
        docker.enabled          = true
        conda.enabled           = false
        singularity.enabled     = false
        podman.enabled          = false
        shifter.enabled         = false
        charliecloud.enabled    = false
        apptainer.enabled       = false
        docker.runOptions       = '-u $(id -u):$(id -g)'
    }
    arm {
        docker.runOptions       = '-u $(id -u):$(id -g) --platform=linux/amd64'
    }
I tried adding the
arm
profile to the command:
Copy code
nextflow run nf-core/proteinfamilies -profile test,docker,arm --outdir protfam_test
I don’t get the warning about docker platform not matching, but I do still get the same error.
(I also tried variations of ordering the
arm
profile first, and just adding the
--platform=linux/amd64
option to the
docker
profile - same error)
I’m happy to go off and investigate
m
Hey Ian, do you have Rosetta enabled? In the docker client you need to enable the emulation of amd64.
this 1
thing thingy
i
Thanks for checking - but yes, already switched on:
e
there is another thing that we previously did with @Martin Beracochea:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
DOn't have anything else if this doesn't work xD
m
it should be the same as
--platform=linux/amd64
AFAIK
🫠 1
i
Thanks, tried setting
DOCKER_DEFAULT_PLATFORM
- same error. Also just tried rebooting (you never know 😛)
I guess at least I’ve found out what my first contribution to this hack will be 🙂
🤣 1
n
Yep, I also tried the export DOCKER_DEFAULT_PLATFORM=linux/amd64. No improvement. 🤫
i
Ha - I’ve just got this to work by turning Rosetta OFF
🫢 1
🙃 1
n
Done via docker dashboard or using a command?
i
docker dashboard
n
Let me try.........
👍 1
i
image.png
🤣 2
e
Love the ordering
🤓 1
i
image.png
Whoop
n
Just done the same - running atm.
e
Awesome...weird, but awesome!
n
Completed successfully! Now where was I...?🤪
😀 1
🤣 1