Snorfalorpagus
Snorfalorpagus

Reputation: 3489

Library not loaded: libmkl_intel_lp64.dylib, using Anaconda on OS X

I am unable to use the MKL-enabled version of NumPy on OS X (10.11.3). The modules seem to install OK, but when I try to import it I get the error Library not loaded: @loader_path/../../../../libmkl_intel_lp64.dylib. Indeed, if I search for this file (mdfind -name libmkl_intel_lp64.dylib) nothing is returned. Is this a problem with the package or my install? The same process works flawlessly on my Windows machine. I am able to install the nomkl build and import it without any difficulty, but I'd like to use MKL if it's available.

Edit: Installing the dylibs manually from the mkl package (http://anaconda.org/anaconda/mkl/files) seems to work - perhaps this is a bug?

Installing NumPy:

snorfmac-2:~ snorf$ source activate snowflake
discarding /Users/snorf/miniconda3/bin from PATH
prepending /Users/snorf/miniconda3/envs/snowflake/bin to PATH
(snowflake)snorfmac-2:~ snorf$ conda install numpy
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .............
Package plan for installation in environment /Users/snorf/miniconda3/envs/snowflake:

The following NEW packages will be INSTALLED:

    mkl:   11.3.1-0     
    numpy: 1.10.4-py34_0

Proceed ([y]/n)? 

Linking packages ...
[      COMPLETE      ]|###################################################| 100%

Attemping to import the module:

(snowflake)snorfmac-2:~ snorf$ python
Python 3.4.4 |Continuum Analytics, Inc.| (default, Jan  9 2016, 17:30:09) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/__init__.py", line 184, in <module>
    from . import add_newdocs
  File "/Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/core/__init__.py", line 14, in <module>
    from . import multiarray
ImportError: dlopen(/Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/core/multiarray.so, 10): Library not loaded: @loader_path/../../../../libmkl_intel_lp64.dylib
  Referenced from: /Users/snorf/miniconda3/envs/snowflake/lib/python3.4/site-packages/numpy/core/multiarray.so
  Reason: image not found

Upvotes: 3

Views: 6598

Answers (1)

Snorfalorpagus
Snorfalorpagus

Reputation: 3489

It looks like for some reason the mkl package was installed the archive wasn't extracted fully. Subsequent installations were using this incomplete extraction. This was reported when running conda install --debug mkl:

DEBUG:conda.install:pkgs_dir='/Users/snorf/miniconda3/pkgs', prefix='/Users/snorf/miniconda3/envs/python34', dist='mkl-11.3.1-0', linktype=1
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_avx512.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_avx512.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_core.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_core.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_intel.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_intel.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_intel_ilp64.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_intel_ilp64.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_intel_lp64.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_intel_lp64.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_intel_thread.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_intel_thread.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_mc.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_mc.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_mc3.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_mc3.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_rt.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_rt.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_sequential.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_sequential.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_vml_avx.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_vml_avx.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_vml_avx2.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_vml_avx2.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_vml_avx512.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_vml_avx512.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_vml_mc.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_vml_mc.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_vml_mc2.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_vml_mc2.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))
ERROR:conda.install:failed to link (src='/Users/snorf/miniconda3/pkgs/mkl-11.3.1-0/lib/libmkl_vml_mc3.dylib', dst='/Users/snorf/miniconda3/envs/python34/lib/libmkl_vml_mc3.dylib', type=1, error=FileNotFoundError(2, 'No such file or directory'))

Deleting the offending directory and reinstalling the mkl package fixed things.

Upvotes: 6

Related Questions