esheldon / esutil

A variety of python utilities focusing on numerical, scientific, and astrophysical computing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problems installing esutil on Mac OS 2

DHortaD opened this issue · comments

Hello,

I have tried to install esutil on my Mac (10.14.2) and the same error message keeps coming up when it starts to build the module,

building 'esutil.recfile._records' extension
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/include -I/anaconda3/include -I/anaconda3/lib/python3.7/site-packages/numpy/core/include -Iesutil/include -Iesutil/recfile -Iesutil/htm -Iesutil/htm/htm_src -I/anaconda3/include/python3.7m -c esutil/recfile/records.cpp -o build/temp.macosx-10.7-x86_64-3.7/esutil/recfile/records.o -arch i386 -arch x86_64
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the
libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from esutil/recfile/records.cpp:1:
esutil/recfile/records.hpp:2:10: fatal error: 'iostream' file not found

Could someone recommend how to solve this? Thanks

Danny

See the comment I made in #27 (credit to @jmackereth), the solution is editing setup.py to change lines 29-30 from:

extra_compile_args=['-arch','i386','-arch','x86_64']
extra_link_args=['-arch','i386','-arch','x86_64']

to

extra_compile_args=['-arch','x86_64', '-stdlib=libc++']
extra_link_args=['-arch','x86_64']

32-bit code has been deprecated since 10.13 (High Sierra) and will be removed entirely in macOS 10.15 (Catalina).

Is this still an issue?

You can do conda install esutil for a precompiled version. If you don't keep conda forge in your channels use conda install -c conda-forge esutil