zsh: exec format error: ./arriba
Closed this issue · 5 comments
Hi.
I would like to run arriba using the BAM file obtained from STAR-FUSION as input.
I am using my MacBook terminal.
I entered:
./arriba -x /Users/dajeong/Arriba_DJ/ATL005_Aligned.out.bam -g /Users/dajeong/Arriba_DJ/GENCODE38.gtf -a /Users/dajeong/Arriba_DJ/hg38.fa
-b /Users/dajeong/arriba_v2.4.0/database/blacklist_hg38_GRCh38_v2.4.0.tsv.gz -k /Users/dajeong/arriba_v2.4.0/database/known_fusions_hg38_GRCh38_v2.4.0.tsv.gz -p /Users/dajeong/arriba_v2.4.0/database/protein_domains_hg38_GRCh38_v2.4.0.gff3
-o fusions.tsv
and the error is as follows:
zsh: exec format error: ./arriba
Could I Run Arriba on MacOS?
I also tried Docker,
(base) dajeong@DajeongcBookPro arriba_v2.4.0 % docker run --rm --platform linux/amd64
-v /Users/dajeong/Arriba_DJ:/output
-v /Users/dajeong/Arriba_DJ/STAR_index_hg38_GENCODE38:/references/STAR_index_hg38_GENCODE38:ro
-v /Users/dajeong/Arriba_DJ/ATL005_Aligned.out.bam:/input.bam:ro
uhrigs/arriba:2.4.0 arriba.sh
docker: invalid reference format.
See 'docker run --help'.
zsh: no such file or directory: uhrigs/arriba:2.4.0
How could I solve this error?
Please help me.
Thanks.
Sincerely,
DJ. J
To run arriba on macOS, you must recompile it using the make
command. Just type make
in the arriba directory (where the Makefile
is).
The docker container probably does not work on macOS, because it is incompatible with the type of processor in modern Macs. There is no Mac-version of arriba for Docker.
Thank you for your reply.
I think it is challenging to Run Arriba on macOS.
When I typed 'make' in the arriba directory, the following errors appeared:
CC lib/arm/cpu_features.o
In file included from lib/arm/cpu_features.c:130:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/sysctl.h:83:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/ucred.h:104:20: error: use of undeclared identifier 'NGROUPS_MAX'
gid_t cr_groups[NGROUPS]; /* advisory group list /
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/param.h:100:25: note: expanded from macro 'NGROUPS'
#define NGROUPS NGROUPS_MAX / max number groups /
^
In file included from lib/arm/cpu_features.c:130:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/sysctl.h:464:20: error: use of undeclared identifier 'NGROUPS_MAX'
gid_t cr_groups[NGROUPS]; / groups /
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/param.h:100:25: note: expanded from macro 'NGROUPS'
#define NGROUPS NGROUPS_MAX / max number groups */
^
2 errors generated.
make[2]: *** [lib/arm/cpu_features.o] Error 1
make[1]: *** [libraries/libdeflate.a] Error 2
make: *** [all] Error 2
How can I solve this error?
Please help me.
Thanks a lot.
Apologies you're having so many issues getting the software to run. This seems to be caused by an incompatibility between libdeflate and ARM processors on Mac. This is fixed in more recent versions of libdeflate.
Replace the Makefile
in your copy of Arriba with the one attached (remove the .txt
file extension) and run make clean
and then make
.
Did it work?
Yes!! It works very well.
I apologize for forgetting to write a comment.
Thank you for your great help.
Have a nice day! :-)