conda activate qiime2-amplicon-2023.9
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
Illegal instruction (core dumped)
I don't have any other issues with running singularity or conda on the server. It has so far only happened with the qiime2 installation.
Hello @makrez. I'm not familiar with Rocky Linux, but after googling it, it appears to be nearly identical to RedHat "Bug for bug compatible with redhat enterprise." We use RedHat on our HPC cluster and can run QIIME 2 natively on it through conda, so I'm not sure the OS is the issue here. Historically we most often see this issue when people are using a very old CPU. Do you know what CPU this server is using? It's doubtful that it's old enough to be a problem, but it's worth checking.
Can you please download this script, run it in the docker image, and post the results here? You should still get the core dump, but it will show exactly what was being imported when the core dump occurred.
I agree that it likely isn't that the CPU is too old, but we do use some compiled binaries in some places, and it is possible you have the wrong binaries for the CPU. I'm not sure exactly how or why that would happen here, but we do see it from time to time, and singularity adds some layers of indirection so who knows.
That's what I suspected. Looking back at your CPU flags, I don't see avx in there which has caused some serious headaches for us with the unifrac binaries in the past. Let me ask someone who was involved in that for help.
Thanks for pointing out that the avx flag is missing. The issue was that we use VMs on our server and for portability reasons, we chose certain CPU settings. We have now changed it to 'host' and avx instructions are now available. It works now!
Thank you so much for your help and pointing me into the right direction.
If any users want to reproduce what I have done, here is the summary:
# Download the script above
singularity exec /path/to/image.sif qiime_more_info.py ;
# check your CPU flags (on linux):
lscpu;
If the avx flag is not present, talk to your sysadmin.