bottleneck icon indicating copy to clipboard operation
bottleneck copied to clipboard

Build failing for arm64

Open odidev opened this issue 2 years ago • 5 comments

I have been working on installing and testing bottleneck package for amd64 and arm64 architectures. I am getting the below error on arm64 architecture for the command python setup.py build_ext --inplace

aarch64-linux-gnu-gcc -pthread -E -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/python3.8 -I/usr/include/python3.8 -o _configtest.i _configtest.c 
_configtest.c:1:10: fatal error: emmintrin.h: No such file or directory 

    1 | #include <emmintrin.h> 
      |          ^~~~~~~~~~~~~ 
compilation terminated. 

Further I explored about the issue, got that ARM CPUs do not support this.

Could you please provide your feedback regarding this.

Log for reference: https://github.com/odidev/bottleneck/runs/4380495013?check_suite_focus=true

odidev avatar Dec 02 '21 10:12 odidev

Is there any update for the above issue?

odidev avatar Feb 18 '22 09:02 odidev

Hello @odidev, no updates on this. We've recently been promoted as maintainers (see #388) to give a help to maintain the package. We've published a roadmap there. We'll try to see if fixing this can be taken into account once we have a working CI also for aarch64.

rdbisme avatar Feb 18 '22 11:02 rdbisme

@rdbisme Thanks for update.

odidev avatar Mar 14 '22 11:03 odidev

Hello,

I am also interested in an ARM build for bottleneck. It looks like @odidev was able to get this to succeed:

  • https://github.com/pydata/bottleneck/compare/master...odidev:master
  • https://github.com/odidev/bottleneck/runs/5536020987?check_suite_focus=true

Is there any plan for official bottleneck support for ARM?

blthayer avatar Jun 02 '22 23:06 blthayer

Hello @blthayer, I think it's for sure interesting to have support for ARM as soon as it doesn't impact performance on other architectures. Pull requests welcome! :) I'd say to split the contribution as:

  1. Adding missing code needed to allow build on armv7 and aarch64 and Apple Silicon
  2. Ensure that the added code doesn't impact other architectures
  3. Tweaking CI to test, build and release for ARM

rdbisme avatar Jun 09 '22 14:06 rdbisme