alvincjk / EMRI_Kludge_Suite

25 stars 19 forks source link

install the python wrapper with MacOX #13

Closed yishu-xu closed 4 years ago

yishu-xu commented 4 years ago

Hello, I'm trying to install the python wrapper on a Mac (MacOX 10.15). The install was successful and I can run the code from bin, but when I try to run the AAKdemo.py problem encountered at the first import line. The error message is below:

Traceback (most recent call last): File "AAKdemo.py", line 1, in <module> import AAKwrapper File "/usr/local/lib/python3.7/site-packages/AAKwrapper-0.1-py3.7-macosx-10.15-x86_64.egg/AAKwrapper/__init__.py", line 1, in <module> from .AAKwrapper import * ImportError: dlopen(/usr/local/lib/python3.7/site-packages/AAKwrapper-0.1-py3.7-macosx-10.15-x86_64.egg/AAKwrapper/AAKwrapper.cpython-37m-darwin.so, 2): Symbol not found: _cblas_caxpy Referenced from: /usr/local/opt/gsl/lib/libgsl.25.dylib Expected in: flat namespace in /usr/local/opt/gsl/lib/libgsl.25.dylib

Do you have any clue on how to solve that.

alvincjk commented 4 years ago

It looks like a linking issue on OS X, see: https://github.com/conda-forge/gsl-feedstock/issues/34

I'm not on a Mac and can't be of much help here, but you could try rebuilding your GSL installation as suggested in the thread. Or linking to cblas directly in setup.py here. Also see: https://forums.macrumors.com/threads/writing-python-modules-to-use-gsl-with-mac-os-x-10-5.639889/

If you find a solution that can be implemented on this end, please let me know and I'll push the fix. Thanks.

yishu-xu commented 4 years ago

Thanks a lot! I tried your second suggestion, by adding from ctypes import CDLL from ctypes import RTLD_GLOBAL gslcblas = CDLL('libgslcblas.dylib',mode=RTLD_GLOBAL) gsl = CDLL('libgsl.dylib') in AAKdemo.py and the problem solved!