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

Unable to Build bowtie on osx-arm64 #49284

Closed
akikuno opened this issue Jul 16, 2024 · 5 comments
Closed

Unable to Build bowtie on osx-arm64 #49284

akikuno opened this issue Jul 16, 2024 · 5 comments

Comments

@akikuno
Copy link
Contributor

akikuno commented Jul 16, 2024

I submitted a Pull Request to make bowtie installable on osx-arm64, but it failed.

#49281

I couldn't determine the exact cause, but it seems that the issue might be due to cpuid only supporting x86.

05:41:46 BIOCONDA INFO (ERR) /opt/mambaforge/envs/bioconda/conda-bld/bowtie_1721108465169/_build_env/lib/clang/16/include/cpuid.h:14:2: error: this header is for x86 only

👆 Link of the Error

05:41:46 BIOCONDA INFO (ERR) /opt/mambaforge/envs/bioconda/conda-bld/bowtie_1721108465169/_build_env/lib/clang/16/include/cpuid.h:298:5: error: invalid output constraint '=a' in asm

👆 Link of the Error

The cpuid is found in processor_support.h of bowtie (link), but despite having the exact same code in bowtie2 (link), bowtie2 builds without issues on osx-arm64(link). Therefore, the cause might be something else. I couldn't determine the exact reason.

I apologize for the inconvenience, but I would appreciate any advice you could provide.

@martin-g
Copy link
Contributor

Hi,

You will need to make some changes to the Makefile.
For example at https://github.com/BenLangmead/bowtie/blob/master/Makefile#L74 there is a comparison of uname -m against aarch64 that is for Linux ARM64. To make it work for OSX you will need to add or arm64

@akikuno
Copy link
Contributor Author

akikuno commented Jul 16, 2024

@martin-g

Thank you so much for your instruction!

There was a Pull Request in the bowtie repository regarding exactly this matter.

BenLangmead/bowtie#131

I hope this one will be merged 🙏

@martin-g
Copy link
Contributor

You can also do make POPCNT_CAPABILITY=0 for ARM64 in build.sh

@akikuno
Copy link
Contributor Author

akikuno commented Jul 17, 2024

@martin-g

I've added make POPCNT_CAPABILITY=0 in build.sh and All checks have passed.

#49326

Thank you so much!

@aliciaaevans
Copy link
Contributor

Closing since it looks like this was resolved in build.sh and there's an issue open to fix it upstream

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