suhrig/arriba

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

suhrig commented

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.

suhrig commented

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.

Makefile with libdeflate v1.13

suhrig commented

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! :-)