Cannot start VVVV: OMP abort

Hi,

I’ve got the following problem for VVVV versions beta18 and beta19 (but not for beta 17): the application startup aborts with the following statement:

“OMP abort: Initializing libiomp5md.dll, but found libguide40.dll already initialized.
This may cause performance degredation and correctness issues.
Set environment variable KMP_DUPLICATE_LIB_OK=true to ignore this problem and force the program to continue anyway. Please note that the use of KMP_DUPLICATE_LIB_OK is unsupported and that the use of it may cause undefined behavior.
For more information please contact Intel® Premier Support.”

I’m using Intel IPP 6.0 and copied its dlls to the system32 directory. Before the installation of Intel IPP 6.0 VVVV beta 18 started correctly.
Does anyone know a solution for this (except setting the above mentioned environment variable - it doesn’t seem to be recommended)

It seems that this problem has something to do with my OpenCV build. If I substitute the OpenCV dlls in the bin folder of VVVV by the ones that I’ve build, beta18 starts as usual. Can anyone explain, what’s causing the trouble? What’s the matter with this OpenMP error message “OMP abort”…?

helo drj,

hmm…it is really hard to guess on this as i don’t know about the interoperations between IPP and openCV. maybe you can ask one of their communities for an explanation of whats going on there?

if substituting yours with vvvvs .dlls helps isn’t that a solution already? i wonder though if vvvvs nodes that use opencv (contour, colortracker, …) are still working then.

also what if you just remove libguide40.dll from vvvvs \bin directory?

if you find out anything please report back here.

By the way: the problem occurs for beta17, too. I’ve forgotten that I exchanged the OpenCV dlls in the beta17 bin directory a long time ago…sorry for confusion.

I’ll ask in the Intel forum, too. But I guess it has something to do with how the OpenCV dlls you proposed were linked when they were created. Maybe they were linked to another OpenMP library than my Intel IPP dlls. Can you tell me, how you linked your OpenCV dlls? Was OpenMP in Visual Studio activated? Have you IPP installed?

Substitution is a quick and dirty solution, but I’d like to have a “clean” solution (I’d like to know what application links against which libs and so on).

I can still use Contour and ColorTracker node with my own OpenCV dlls.

If I remove only libguide40.dll from the bin folder, the error message is the same.

Thanks so far for your suggestions.

i have openCV 1.0 installed and compiled the plugins using Code::Blocks ide (which uses the gcc-compiler) linking to the openCV install directory. no IPP installed. i don’t know about OpenMP at all, so probably it is not used.

Hi guys , i am experimenting this bad problem now , i can open vvvv and work normally until i open a videoin node then i get the ‘’: "OMP abort: Initializing libiomp5md.dll, but found libguide40.dll already initialized.
This may cause performance degredation and correctness issues.
Set environment variable KMP_DUPLICATE_LIB_OK=true to ignore this problem and force the program to continue anyway. Please note that the use of KMP_DUPLICATE_LIB_OK ‘’

i dont know exacly since when it started i dont remember installing any new app apart from some drivers for a imagingsource capture ,

anyone got a solution for that in all the forums i,ve read they seem to be talking in an unkwon lenguage as i,m not using any of the software they talk about .

regards ;D

Having heared about OMP before somewhere I took alook what it could be and found OpenMP, which is for parallel processing.
http://openmp.org/wp/ and in [forum ](http://openmp.org/forum, which is refering to an Intel compiler statement/viewtopic.php?f=3&t=27&p=76&hilit=kmp#p76)
And in a quick overview, Ive read about shared memory there, which comes in game from Version 14.9 upward.
Looks like both mentioned libraries uses OpenMp somehow. “KMP_” is a Intel compiler specific variable term for using OpenMP.
Not a help at all, but hopefully a little.

libiomp5md.dll is Intel’s multithreading library. Previously libguide40.dll was used for multithreading tasks (as far as I know). Both libraries causes the conflict you mentioned (“OMP abort: Initializing libiomp5md.dll, but found libguide40.dll already initialized.”). This happens, when an application tries to load one of the two dlls, while the other one was already loaded.
BTW: have you installed Intel IPP? Or the Intel Compiler? If so, you can try to rebuild OpenCV and replace the OpenCV dlls in your VVVV installation directory (this helped me to get rid of the error message).

hi drjones , thanks for your reply , would you be as kind as to give me step by step procedure i,m a bit lost in this , now i,m going to download the evaluate intel compiler form here http://software.intel.com/en-us/intel-compilers/ what is next , what file should i open with it , which dll,s are all those ?

Sorry for the confusion. I got the error message you mentioned after I’ve installed Intel IPP. Then I could no longer start any application which uses OpenCV dlls like cv100.dll, cxcore100.dll and highgui100.dll. VVVV is one of these applications, so each time I started VVVV, I got the error message.
The problem was a bit complex: Intel IPP is a library to do image processing very fast (on the CPU). OpenCV is a library to do image processing as well and was originally developed by Intel, too. Internally, the OpenCV dlls check, if you’ve installed IPP - if it finds IPP dlls it uses these fast ones for image processing, otherwise it executes less performant functions in the OpenCV code.
The original OpenCV dlls depend on libguide40.dll, but if you’ve installed IPP, OpenCV dlls load IPP dlls internally which load libiomp5md.dll in turn => conflict of old libguide40.dll and libiomp5md.dll => you have to rebuild OpenCV dlls (so that OpenCV dlls no longer depend on libguide40.dll).

But it seems to me, that the problem I had doesn’t really apply to you, cause you haven’t installed Intel’s Integrated Perfromance Primitives (IPP). So I recommend that you deinstall the (evaluation) Intel compiler again in order to avoid further conflicts.
I hope someone else can help you out better than me…

your valuable knowledge should have an adequate place; maybe at TroubleShooting?
:)

hola drjones , hehe ok i did not install the compiler yet so no worries , if anyone ever find a general solution for that it would be great to know , i still could not get rid of . gracias de todas maneras ;D

cheers guys