tbenthompson / okada_wrapper

MATLAB and Python wrappers of the Okada Green's functions.
MIT License
67 stars 33 forks source link

Work-around needed for installation on Mojave OS #3

Closed kmaterna closed 4 years ago

kmaterna commented 4 years ago

Hi Ben, I just installed okada_wrapper on a Mac with Mojave. Unfortunately, Apple made some changes recently. Mojave is intentionally missing a directory called /usr/include, which means the installation of okada_wrapper cannot find header files like [happens using both pip and setup.py]. I'm guessing one of the packages used in okada_wrapper depends on having that directory present.

The Fix: I had to download the command line tools in Xcode and run the macOS_SDK_headers_for_macOS_10.14.pkg package inside /Library/Developer/CommandLineTools/Packages. Then it worked.

Based on stuff online, it doesn't seem like this work-around will always work into the future, but for now it does. I wanted to let you know, and leave a record of the work-around here, in case it helped others.

For details: https://apple.stackexchange.com/questions/337940/why-is-usr-include-missing-i-have-xcode-and-command-line-tools-installed-moja https://github.com/qutip/qutip/issues/1030 https://stackoverflow.com/questions/52509602/cant-compile-c-program-on-a-mac-after-upgrade-to-mojave https://stackoverflow.com/questions/30877659/fatal-error-limits-h-no-such-file-or-directory

The error during installation looks like this: compile options: '-Ibuild/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/okada_wrapper -I/Users/kmaterna/miniconda3/lib/python3.7/site-packages/numpy/core/include -I/Users/kmaterna/miniconda3/include/python3.7m -c' extra options: '-O3' gcc: build/src.macosx-10.9-x86_64-3.7/okada_wrapper/DC3Dmodule.c gcc: build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/okada_wrapper/fortranobject.c In file included from /opt/local/lib/gcc6/gcc/x86_64-apple-darwin16/6.4.0/include-fixed/syslimits.h:7:0, from /opt/local/lib/gcc6/gcc/x86_64-apple-darwin16/6.4.0/include-fixed/limits.h:34, from /Users/kmaterna/miniconda3/include/python3.7m/Python.h:11, from build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/okada_wrapper/fortranobject.h:7, from build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/okada_wrapper/fortranobject.c:2: /opt/local/lib/gcc6/gcc/x86_64-apple-darwin16/6.4.0/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory

include_next / recurse down to the real one /

                                                           ^

compilation terminated. In file included from /opt/local/lib/gcc6/gcc/x86_64-apple-darwin16/6.4.0/include-fixed/syslimits.h:7:0, from /opt/local/lib/gcc6/gcc/x86_64-apple-darwin16/6.4.0/include-fixed/limits.h:34, from /Users/kmaterna/miniconda3/include/python3.7m/Python.h:11, from build/src.macosx-10.9-x86_64-3.7/okada_wrapper/DC3Dmodule.c:15: /opt/local/lib/gcc6/gcc/x86_64-apple-darwin16/6.4.0/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory

include_next / recurse down to the real one /

                                                           ^
tbenthompson commented 4 years ago

Hey Kathryn!!! Thanks for the info. I'll add a link to this issue on the Readme to help anyone else who runs into this problem. Hope you're doing well.

rzinke commented 4 years ago

Hello, this did not work for me. I tried open macOS_SDK_headers_for_macOS_10.14.pkg but the installation failed after giving a warning that running the package could corrupt my system.

Have there been any updates in this regard?

tbenthompson commented 4 years ago

Hi @rzinke , perhaps you're on a newer version of Mac and the 10.14 pkg is no longer appropriate? I'm not sure. This issue is related to having a correctly installed set of C/C++/Fortran compilers. Without properly installed compilers, okada_wrapper will not be able to be installed.