Why does my compiled application fail to run - BLAS loading error?

6 views (last 30 days)
Hi,
I have a deployed application created using R2019a. When installed on one specific machine (Win7 Ultimate x64), I receive the following error on trying to run the program:
"BLAS loading error:
mkl.dll: The operating system cannot run mkl.dll"
This only happens on this one machine, all other machines I've tested on are fine (Win 7 and Win 10).
Has anyone run into a similar error?
  1 Comment
Jacob Hales
Jacob Hales on 9 Oct 2020
I wonder if this is related to an issue we just resolved on one of our machines. We followed the first suggestion given here, but we had to copy more than just the two DLLs specified:
In case the link goes stale:
This error may occur if you have an older version of ssleay32.dll and libeay32.dll in your Windows system32 directory. To resolve this issue, either:
1. Place a copy of MATLAB's SSLEAY32.DLL and LIBEAY32.DLL (from the bin\win64 directory) next to your standalone executable. The directory from which the application loaded has a higher priority than system32, so this should allow the application to use the DLLs which it needs, or
2. Remove SSLEAY32.DLL and LIBEAY32.DLL from the system32 directory; the standalone can then use the one included with MATLAB. This may break other applications however which rely on the DLL being in system32. So, alternatively you may want to update SSLEAY32.DLL and LIBEAY32.DLL in the system32 directory, for example by replacing it with the copies included with MATLAB or perhaps you could update the application which installed this DLLs in the first place, if you know which application this was.
PS: To identify that this is indeed the cause of the issue you can run a Dependency Walker profile on the standalone application, in which you would see ssleay32.dll and libeay32.dll being loaded from a different location than MATLAB/MCR bin\win64 directory and you should see that certain entry points are not found in that DLL. Note that this occurs way before libmwlmgrimpl.dll is loaded, it happens when the POCO libraries are loaded first and then libmwlmgrimpl.dll fails when it tries to use these POCO libraries.

Sign in to comment.

Answers (1)

Sahin Ozsoy
Sahin Ozsoy on 5 Feb 2021
I have run into the same issue.
Mine says:
"LAPACK loading error:
mkl.dll: The operating system cannot run mkl.dll"
I do not see any SSLEAY32.DLL or LIBEAY32.DLL under system32 directory or under the Matlab bin/win64 directory.
The only mkl.dll I could find in the machine is under Matlab bin/win64 directory.
It is frustrating because it happens on some machines but not the others. They are all windows 10.

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!