finufft icon indicating copy to clipboard operation
finufft copied to clipboard

Installing finufft on M1 Mac arm64: include and architecture errors after troubleshooting

Open tmygupta opened this issue 2 years ago • 5 comments

Hi! I've tried installing finufft for python use on my M1 mac through pip, the wheel file above, and also by compiling manually. Unfortunately, I keep running into the same issues. First, when I make test -j I run into several "fatal errors" saying " 'omp.h' file not found" in the include lines. Screen Shot 2022-06-28 at 23 58 59

Second, when I try importing it in python 3, I get the same error as the original comment. Screen Shot 2022-06-29 at 00 00 41

I am trying to use this package for some radio antenna work involved in my research. Please let me know what you advise!

tmygupta avatar Jun 29 '22 07:06 tmygupta

Hi, did you brew install libomp ? If so, then it could be a matter of searching for omp.h and explicitly adding directory via adding a -Idirectory to flags in whatever make.inc you're using. Layouts of OS systems change. Search for related fixes, eg https://github.com/lczech/gappa/issues/15

@lu1and10 may have more input, as a mac user. Keep us updated, esp if you have updates that work - we will add them to our docs and make.inc versions. Best, Alex

On Wed, Jun 29, 2022 at 3:03 AM tmygupta @.***> wrote:

Hi! I've tried installing finufft for python use on my M1 mac through pip, the wheel file above, and also by compiling manually. Unfortunately, I keep running into the same issues. First, when I make test -j I run into several "fatal errors" saying " 'omp.h' file not found" in the include lines. [image: Screen Shot 2022-06-28 at 23 58 59] https://user-images.githubusercontent.com/100881820/176372093-045a5e2d-859b-42e9-964f-a1beea7886d9.png

Second, when I try importing it in python 3, I get the same error as the original comment. [image: Screen Shot 2022-06-29 at 00 00 41] https://user-images.githubusercontent.com/100881820/176372454-64f13b57-b569-4c7c-95cb-5e2452596c2f.png

I am trying to use this package for some radio antenna work involved in my research. Please let me know what you advise!

— Reply to this email directly, view it on GitHub https://github.com/flatironinstitute/finufft/issues/230, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACNZRSW6MRTN2XBBOJGBJHTVRPYL7ANCNFSM52ETT5WA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- *---------------------------------------------------------------------~^`^~._.~' |\ Alex H. Barnett Center for Computational Mathematics, Flatiron Institute | \ http://users.flatironinstitute.org/~ahb 646-876-5942

ahbarnett avatar Jul 01 '22 16:07 ahbarnett

Did you fix this? we have M1 users now; see make.inc.macosx_arm64*

ahbarnett avatar Jan 20 '23 20:01 ahbarnett

Not the original user but I am getting the exact same errors either when installing through pip3 or building myself in PyCharm. Is there any solution to make it work ?

migmtz avatar Jul 02 '23 11:07 migmtz

Not the original user but I am getting the exact same errors either when installing through pip3 or building myself in PyCharm. Is there any solution to make it work ?

We have not include pip binary wheels for m1,m2, we will include in the next release.

It turns out that brew changes the libomp lib and include files directory(not in /opt/homebrew/lib and /opt/homebrew/include), I just updated make.inc.macosx_arm64. You could follow the instruction install libomp and fftw using brew and then use the latest make.inc.macosx_arm64 to try to build from source.

Note we have cmake for C++ build, and we are switching to use skbuild for python in the next release, so makefile may be deprecated in the next release.

lu1and10 avatar Jul 10 '23 14:07 lu1and10

In case others stumble upon this: in my case, after failing to use finufft on arm64 (couldn't build from source), the easiest was to set an x86 environment (see e.g. here). Install with pip install finufft worked fine then.

matthieutrs avatar Sep 08 '23 12:09 matthieutrs