| August 2, 2009 9:00 AM PDT | |
Symptom(s):
OMP: Error #15: Initializing libguide40.lib, but found libiomp5md.lib already initialized.
or vice versa message
This can cause performance degradation.
Cause:
Both libiomp5md.dll and libguide40.dll are Intel OpenMP Runtime library. The libiomp5md.dll is new Intel OpenMP* Compatibility library while the libguide40.dll is legacy OpenMP library. Since Intel® MKL 10.1.0.018 and Intel® Compiler 11.x and later, the default OpenMP runtime library for Intel MKL has been changed from libguide to libiomp. Please see <http://software.intel.com/en-us/articles/openmp-support-change/>
The error is caused by multiple OpenMP libraries were linked in same application. For example, you have two mkl versions MKL 10 and MKL 10.2.1 are linked in same appliation. The error arises because of the duplicate initialization of OpenMP Runtime library from MKL 10 which link libguide40 and MKL 10.2.1 which use libiomp5md .
Please note, the libguide40.dll sometimes were linked implicitly, e.g. by third-party library, custom dll or by dummy library mkl_c.lib in previous MKL version.
Solution:
Please remove one of them and keep only one OpenMP runtime library.
We recommend using and distributing libiomp5md.dll (located in the \bin directory), as libguide40 will be obsolete.
For the third-party library or custom dll which have used the libguide40.dll from pervious MKL version, in order to avoid such kind of issue, we strongly recommend rebuild your library with libiomp5md.dll.
This article applies to: Intel® Math Kernel Library Knowledge Base
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (2) 
| April 11, 2012 7:14 AM PDT
Scott | These instructions are for software developers so they can recompile their software to avoid this error. Unfortunately I'm experiencing the same problem with Corel VideoStudio X5 Ultimate. After a clean install I receive this error message and it won't run. Ultimately Intel should have coded the libiomp5md.dll so that it wouldn't care if libguide40.dll is running, but they didn't and now us consumers are left trying to figure out how to solve the problem. I'm beginning to understand why Macs are gaining in popularity! |



David
"Solution:
Please remove one of them and keep only one OpenMP runtime library.
We recommend using and distributing libiomp5md.dll (located in the bin directory), as libguide40 will be obsolete.
For the third-party library or custom dll which have used the libguide40.dll from pervious MKL version, in order to avoid such kind of issue, we strongly recommend rebuild your library with libiomp5md.dll."
Is all very well but to someone like me that is just jibberish. Any chance you could explain how to do the above in extremely simple english with a step by step guide? Would be hugely appreciated.