JuliaPy / Conda.jl

Conda managing Julia binary dependencies
Other
174 stars 57 forks source link

INTEL MKL ERROR on MacOS #182

Open OkonSamuel opened 4 years ago

OkonSamuel commented 4 years ago

Hi. I get the following error in travis tests when using Conda on MacOS

INTEL MKL ERROR: dlopen(/Users/travis/.julia/conda/3/lib/libmkl_intel_thread.dylib, 9): Library not loaded: @rpath/libiomp5.dylib

  Referenced from: /Users/travis/.julia/conda/3/lib/libmkl_intel_thread.dylib

  Reason: image not found.

Intel MKL FATAL ERROR: Cannot load libmkl_intel_thread.dylib.

I don't get these error on Linux or when i use my local python distribution (That's why am opening an issue here). No error shows if i remove mkl with Conda.rm("mkl") Any help would be appreciated. Thanks

stevengj commented 4 years ago

Can you give a self-contained example that illustrates the error? What is the test that is failing?

OkonSamuel commented 4 years ago

Thanks @stevengj Sorry for my choice of words. I should have said errored tests. https://travis-ci.com/github/alan-turing-institute/MLJModels.jl/jobs/339809727#L470. This is as a result of using PYTHON=conda as default python distribution on MacOS(This doesn't error in Linux build)

OkonSamuel commented 4 years ago

Although adding the following code to my tests prevents those errors am still puzzled why it doesn't error in Linux builds.

Conda.add("nomkl")
Conda.add("scikit-learn")
Conda.rm("mkl")
ppalmes commented 3 years ago

add this in your .travis.yml

env:
  - PYTHON=Conda LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.julia/conda/3/lib

the problem is the env variable is not properly set to the right location in MacOS

ppalmes commented 3 years ago

can we have a fix on this in MacOS? for those with conda/python working, this is issue won't bite them. from fresh .julia or new install of conda/pycall, without properly exporting:

export PYTHON=Conda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.julia/conda/3/lib

in their startup shell, installing conda/python will fail.

mertsaner commented 3 years ago

add this in your .travis.yml

env:
  - PYTHON=Conda LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.julia/conda/3/lib

the problem is the env variable is not properly set to the right location in MacOS

Hi there, I have the same problem in my Macbook but I did not understand what to do exactly. What is our .traves.yml? My username is mertsaner. So, what is .mertsaner.yml? Could you describe in a detailed way what we need to do solve the problem? Thanks,

mertsaner commented 3 years ago

can we have a fix on this in MacOS? for those with conda/python working, this is issue won't bite them. from fresh .julia or new install of conda/pycall, without properly exporting:

export PYTHON=Conda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.julia/conda/3/lib

in their startup shell, installing conda/python will fail.

I have tried to write these two to the my shell but it did not worked out

ppalmes commented 3 years ago

you have to do Pkg.build() so that Conda and PyCall will use these new information.

ppalmes commented 3 years ago

export PYTHON=Conda export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.julia/conda/3/lib

in julia prompt: using Pkg; Pkg.build()

mertsaner commented 3 years ago
Screen Shot 2021-04-04 at 3 37 46 PM

Same Error :(

mertsaner commented 3 years ago

It happens when I use Pyplot otherwise it is okay, I use BigSur 11.2.3 on M1 Macbook

ppalmes commented 3 years ago

check on that directory if you have the mkl lib. find it and put it there.

ppalmes commented 3 years ago

you can also remove mkl by using nomkl

Conda.add("nomkl")
Conda.rm("mkl")
pyimport_conda("mkl", "mkl")
ppalmes commented 3 years ago
Screen Shot 2021-04-04 at 3 37 46 PM

Same Error :(

make sure you export those commands in the same terminal and run julia and build the packages.

mertsaner commented 3 years ago
Screen Shot 2021-04-04 at 3 37 46 PM

Same Error :(

make sure you export those commands in the same terminal and run julia and build the packages.

I tried but, it did not work correctly, something is wrong with Julia but I do not what is

mertsaner commented 3 years ago

Pluto is okay, since even I do not use Pluto, it gives same error within Julia every time, I try to plot something or write Pyplot()

mertsaner commented 3 years ago

like using Pkg, Add PyPlot()

ppalmes commented 3 years ago

did you follow the steps about exporting PYTHON and LD_LIBRARY paths? did you check if MKL lib can be found in the location that the error indicated? please provide more details and more info. if you don’t provide details, we cannot guess too what is the problem.

ppalmes commented 3 years ago

what is your julia version. try running these commands in julia shell to avoid any issues from other packages.

ppalmes commented 3 years ago

did you try the Conda commands suggested above?

deszoeke commented 3 years ago

I had to do some tugging to get GR to compile, after which I got this PyPlot error. The Conda commands worked.