Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sortmerna can be compiled on ARM64 on mac computers? #415

Open
linyibin123 opened this issue Feb 28, 2024 · 5 comments
Open

Sortmerna can be compiled on ARM64 on mac computers? #415

linyibin123 opened this issue Feb 28, 2024 · 5 comments

Comments

@linyibin123
Copy link

Currently sortmerna is targeting the x86-64 architecture and not the ARM64 architecture. Is this means that sortmerna cannot be compiled on ARM64 on mac computers?

@biocodz
Copy link
Collaborator

biocodz commented Feb 29, 2024

Mac on x86-64 for sure. Currently testing on conda-build and github actions build_osx.yml. I deleted the built artifacts yesterday but if you need it urgently, they can be regenerated
I'm curious of ARM myself, so might give it a try when OSX is out of the door.

@linyibin123
Copy link
Author

Thank you very much for your reply.

@martin-g
Copy link
Contributor

The build on ARM64 fails with:

[21/75] Building CXX object src/sortmerna/CMakeFiles/smr_objs.dir/Release/alignment.cpp.o
FAILED: src/sortmerna/CMakeFiles/smr_objs.dir/Release/alignment.cpp.o 
/usr/bin/c++ -DCMAKE_INTDIR=\"Release\" -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/include -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/3rdparty/cmph -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/3rdparty/concurrentqueue -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/3rdparty/alp -isystem /tmp/sortmerna/sortmerna-4.3.7-beta.1/build/3rdparty/rocksdb/dist/include -isystem /tmp/sortmerna/sortmerna-4.3.7-beta.1/build/3rdparty/zlib/dist/include -W -Wextra -Wall -Xlinker -v -O3 -DNDEBUG -std=gnu++17 -MD -MT src/sortmerna/CMakeFiles/smr_objs.dir/Release/alignment.cpp.o -MF src/sortmerna/CMakeFiles/smr_objs.dir/Release/alignment.cpp.o.d -o src/sortmerna/CMakeFiles/smr_objs.dir/Release/alignment.cpp.o -c /tmp/sortmerna/sortmerna-4.3.7-beta.1/src/sortmerna/alignment.cpp
In file included from /tmp/sortmerna/sortmerna-4.3.7-beta.1/include/indexdb.hpp:40,
                 from /tmp/sortmerna/sortmerna-4.3.7-beta.1/include/bitvector.hpp:42,
                 from /tmp/sortmerna/sortmerna-4.3.7-beta.1/include/traverse_bursttrie.hpp:46,
                 from /tmp/sortmerna/sortmerna-4.3.7-beta.1/include/alignment.hpp:42,
                 from /tmp/sortmerna/sortmerna-4.3.7-beta.1/src/sortmerna/alignment.cpp:39:
/tmp/sortmerna/sortmerna-4.3.7-beta.1/include/ssw.h:25:10: fatal error: emmintrin.h: No such file or directory
   25 | #include <emmintrin.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
[23/75] Building CXX object src/sortmerna/CMakeFiles/smr_objs.dir/Release/bitvector.cpp.o
FAILED: src/sortmerna/CMakeFiles/smr_objs.dir/Release/bitvector.cpp.o 
/usr/bin/c++ -DCMAKE_INTDIR=\"Release\" -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/include -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/3rdparty/cmph -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/3rdparty/concurrentqueue -I/tmp/sortmerna/sortmerna-4.3.7-beta.1/3rdparty/alp -isystem /tmp/sortmerna/sortmerna-4.3.7-beta.1/build/3rdparty/rocksdb/dist/include -isystem /tmp/sortmerna/sortmerna-4.3.7-beta.1/build/3rdparty/zlib/dist/include -W -Wextra -Wall -Xlinker -v -O3 -DNDEBUG -std=gnu++17 -MD -MT src/sortmerna/CMakeFiles/smr_objs.dir/Release/bitvector.cpp.o -MF src/sortmerna/CMakeFiles/smr_objs.dir/Release/bitvector.cpp.o.d -o src/sortmerna/CMakeFiles/smr_objs.dir/Release/bitvector.cpp.o -c /tmp/sortmerna/sortmerna-4.3.7-beta.1/src/sortmerna/bitvector.cpp
In file included from /tmp/sortmerna/sortmerna-4.3.7-beta.1/include/indexdb.hpp:40,
                 from /tmp/sortmerna/sortmerna-4.3.7-beta.1/include/bitvector.hpp:42,
                 from /tmp/sortmerna/sortmerna-4.3.7-beta.1/src/sortmerna/bitvector.cpp:39:
/tmp/sortmerna/sortmerna-4.3.7-beta.1/include/ssw.h:25:10: fatal error: emmintrin.h: No such file or directory
   25 | #include <emmintrin.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
[30/75] Building CXX object 3rdparty/alp/CMakeFiles/alp.dir/Release/sls_alp_sim.cpp.o
ninja: build stopped: subcommand failed.

@martin-g
Copy link
Contributor

I am working on adding a Linux ARM64 CI at my fork - martin-g#1
Once ready I will work on a fix for the compilation problem!

@biocodz
Copy link
Collaborator

biocodz commented Mar 21, 2024

that sounds great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants