- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Folks,
I am using IPP v6.0 mostly with OpenCV v1.1.1a (but also on its own) under Windows XP Professional 64 SP2 on a Xeon E5420 Harpertown quadcore (EM64T). I am using VC++ 8.0 from Visual Studio 2005 to create my programs. I was using IPP v5.3 successfully with my code. Now that I have upgraded to IPP v6.0, I am having problems.
My programs compile and link successfully both in debug and release mode (x64). When I run them, however, I get the following errors.
Release x64:
OMP abort: Initializing libguide40.dll, but found libiomp5md.dll already initialized. This may cause performance degradation 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 using it may cause undefined behavior. For more information, please contact Intel Premier Support. [I have done so]
Debug x64:
This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix the problem. [What a useless error message!]
I have searched the internet and the Intel site to try to find answers, but nothing I've done has worked. I have set up my environment as follows:
CPATH=C:\Program Files\Intel\IPP\6.0.0.062\em64t\include
include=C:\Program Files\Intel\IPP\6.0.0.062\em64t\include; ...
INTEL_LICENSE_FILE=C:\Program Files (x86)\Common Files\Intel\Licenses
IPPROOT=C:\Program Files\Intel\IPP\6.0.0.062\em64t
lib=C:\Program Files\Intel\IPP\6.0.0.062\em64t\lib;C:\Program Files\Intel\IPP\6.0.0.062\em64t\stublib; ...
Path=C:\Program Files\Intel\IPP\6.0.0.062\em64t\bin; ...
All the IPP refs are first. I've used the following compiler flags as recommended:
/I "C:\Program Files\Intel\IPP\6.0.0.062\em64t\include"
/MD
/openmp
/Qopenmp-lib:compat
/Qopenmp-link:dynamic
The IPP include is first in the list. VC++ 8.0 does not recognize the options "/Qopenmp-lib:compat" and "/Qopenmp-link:dynamic", and therefore ignores them.
And the following linker flags:
/LIBPATH:"C:\Program Files\Intel\IPP\6.0.0.062\em64t\stublib"
/LIBPATH:"C:\Program Files\Intel\IPP\6.0.0.062\em64t\lib"
/LIBPATH:"C:\Program Files\Intel\IPP\6.0.0.062\em64t\bin"
/NODEFAULTLIB:"libguide.dll"
/NODEFAULTLIB:"libguide.lib"
/NODEFAULTLIB:"libguide40.dll"
/NODEFAULTLIB:"libguide40.lib"
/MD
/Qopenmp-link:dynamic
The IPP library paths are first in the list. The linker does not recognize "/Qopenmp-link:dynamic" and ignores it. Also the inputs to the linker are, in this order:
libiomp5md.lib
ippacem64t.lib
ippccem64t.lib
ippchem64t.lib
ippcoreem64t.lib
ippcvem64t.lib
ippdcem64t.lib
ippdiem64t.lib
ippgenem64t.lib
ippiem64t.lib
ippjem64t.lib
ippmem64t.lib
ipprem64t.lib
ippscem64t.lib
ippsem64t.lib
ippsrem64t.lib
ippvcem64t.lib
ippvmem64t.lib
quartz.lib
dscam.lib
thcam.lib
cvcam.lib
cv_64.lib
highgui_64.lib
cxcore_64.lib
winmm.lib
strmbase.lib
cvaux_64.lib
comctl32.lib
I neither know what I am doing wrong nor do I know what to try next. Thank you for your help.
Alan Peters
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
If you're application links with some modules of ipp6.0 and openCV there's a bug in OpenCV which could fail to load ipp6.0 when searching for optimized modules.
In that case, if you have ipp5.x installed, openCV could be trying to load these dlls along with libguide40.dll. This won't show up in DW because these libraries are loaded with LoadLibrary and thus are not linked in...
Regards,
Matthieu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Second chance exception 0xC0000005 (Access Violation) occurred in "c:windowswinsxsamd64_microsoft.vc80.debugmfc_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_57812684MFC80D.DLL" at address 0x000000007827E692.
Exited "d:programsvisual studio 2005projectscvstereoframeworkx64debugSTEREOFRAMEWORKD_64.EXE" (process 0xCBD4) with code 128 (0x80).
Hi,
If you're application links with some modules of ipp6.0 and openCV there's a bug in OpenCV which could fail to load ipp6.0 when searching for optimized modules.
In that case, if you have ipp5.x installed, openCV could be trying to load these dlls along with libguide40.dll. This won't show up in DW because these libraries are loaded with LoadLibrary and thus are not linked in...
Regards,
Matthieu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
You could check easily if the error is really due to OpenCV.
As I understand, you compiled OpenCV by yourself so the test will be easy. Just modify cxswitcher.cpp in cxcore so that VERBOSE_LOADING is defined to 1 (instead of 0) then compile cxcore and cxcoretest. You'll then see what optimized modules are loaded. If anything other version than ipp 6.0 loads then the issue is here.
If that's the case, I can provide you with a workaround for cxswitcher which is far from optimal (some optimized libraries won't load despite the fact they're present).
Regards,
Matthieu
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page