Python: Import Slycot, symbol not found: _dgesv_

143 views Asked by At

When trying to import slycoti get the following error:

ImportError: dlopen(/Users/username/anaconda/lib/python3.4/site-packages/slycot/_wrapper.so, 2): 
Symbol not found: _dgesv_

Referenced from: /Users/username/anaconda/lib/python3.4/site-packages/slycot/_wrapper.so

Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib

Googling the last bit

Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib

results in loads of different software, and seems to be linked to a OSx problem. I always use pip to install python packages, and brew for other things.


which python

/Users/username/anaconda/bin/python

echo $PATH 

/Users/username/anaconda/bin:/usr/local/fsl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin
1

There are 1 answers

0
Ashutosh On

The problem appears due to conflict in the use of mkl libraries. _wrapper.so is compiled against anaconda's own mkl functions but on runtime its loading mkl functions present on your local machine. I guess you can use install_name_tool utility to change the path of libBLAS.dylib to that of anacondas on run-time.