EddyRivasLab / hmmer

HMMER: biological sequence analysis using profile HMMs
http://hmmer.org
Other
317 stars 70 forks source link

hmmer compatibility with the Apple M1 chips #227

Closed courtneystairs closed 3 years ago

courtneystairs commented 3 years ago

Hi hmmer team!

I am reaching out to ask if there are any plans to make hmmer compatible on the new Apple M1 chips? I've tried installing the package on my new machine with homebrew and from source but there seems to be issues with the vectorizaiton (using both gcc or clang - issues below).

Thanks for the tool and support. Especially adapting to the ever-changing hardware of Mac machines...

All the best,

Courtney

Pretty much the same errors for both gcc and clang:

brew install --build-from-source hmmer Snippet of the errors - all previous configuations were ok/yes:

checking whether clang can compile our Altivec/VMX code... no
checking whether clang can compile our SSE code... no
configure: ::::::::::--- no vector instruction set ---::::::::::
configure: HMMER3 requires SSE or VMX vector instructions.
configure: Supported platforms are x86 (Intel/AMD) and PowerPC.
configure: error: No supported vectorization found for your machine.

./configure Snippet of the errors - all previous configuations were ok/yes:

checking whether gcc can compile our Altivec/VMX code... no
checking whether gcc can compile our SSE code... no
configure: ::::::::::--- no vector instruction set ---::::::::::
configure: HMMER3 requires SSE or VMX vector instructions.
configure: Supported platforms are x86 (Intel/AMD) and PowerPC.
configure: error: No supported vectorization found for your machine.
cryptogenomicon commented 3 years ago

To build HMMER on the new Apple Silicon Macs, you need to have Apple's Rosetta2 package installed, which gives you support in Xcode for the Intel->ARM transition. On OS/X Big Sur, Apple does not install Rosetta2 with Xcode by default. To install Rosetta2, see these instructions. Then HMMER should build from source as usual.

courtneystairs commented 3 years ago

Oh great thanks!! This worked :) I hit a bit of trouble figuring out how to set it so the terminal would use Rosetta2 after install - but eventually figured it out by Finder > Terminal.app > Get Info > open using Rosetta.

(Warning: I think this is a bandaid fix until I learn more about how to configure my system properly)

sunyj28 commented 1 year ago

Still can't install HMMER even with ROSETTA mode

npcarter commented 1 year ago

Hello,

One issue I've run into with building HMMER under Rosetta is that the terminal window I do the build in has to be running in Rosetta mode. It's not enough to just install Rosetta on the computer you're using. homebrew - On Apple M1 with Rosetta, how to open entire Terminal / iTerm in x86_64 architecture? - Ask Different (stackexchange.com) https://apple.stackexchange.com/questions/428768/on-apple-m1-with-rosetta-how-to-open-entire-terminal-iterm-in-x86-64-architec#:~:text=Go%20to%20Finder%20%3E%20Applications%20and%20find%20your,type%20arch%20to%20verify%20it%20says%20x86_64%20now. has some instructions on how to start a terminal in Rosetta mode. Once you've done that, HMMER should build on an M1 Mac, although you may have to run the resulting program from a Rosetta terminal window to get it to work.

Alternately, you could try the develop branch of HMMER from our github site https://github.com/EddyRivasLab. That has native support for M1 macs, although it's not as thoroughly tested as the release version. Two notes if you decide to try that support. First, the develop version of HMMER requires the develop version of our Easel library, which you can also get from our github site. Second, you may encounter errors building a tool called "profmark" when you run make on the develop branch. You can safely ignore that error if you just want our hmmsearch/hmmscan/phmmer/nhmmer tools, as profmark is an internal testing tool that gets built after those other tools. Building HMMER under Rosetta is probably the safest way to go at this time, though.

We're hoping to release the native M1 version of HMMER this summer, although we don't have a specific date in mind yet.

-NIck

On Wed, Apr 26, 2023 at 8:23 AM sunyj28 @.***> wrote:

Still can't install HMMER even with ROSETTA mode

— Reply to this email directly, view it on GitHub https://github.com/EddyRivasLab/hmmer/issues/227#issuecomment-1523328536, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDJBZA6K67V7GZYBCGMUM3XDEHSNANCNFSM4XWE64LQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>