Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Sharanga_D_
Beginner
131 Views

MKL with legacy app (Visual Studio 6)

Hi

I have a legacy app written in C++ with Visual Studio 6. It uses an older version of the MKL library.

The app is currently getting memory allocation errors from the MKL code when using FFT and IFFT (error code 1) (The input and output buffers are set to be the same to reduce the memory footprint). The data is around 344 MB. The app has other demands on memory.

I was hoping to test a newer version of the MKL to see whether it would work with this dataset.

Unfortunately, the new MKL library (the Release 11 Update 5), produces a load of linker errors (I'm linking against mkl_intel_c, mkl_sequential and mkl_core.

mkl_core.lib(psdftsfactca_w7---ownscDftOutOrdInv_Prime13_32fc_20121126.obj) : error LNK2001: unresolved external symbol ___security_cookie

This is with Visual studio 6.0 so there's no /GS switch or BufferOverflowU.lib

0 Kudos
11 Replies
Noah_C_Intel
Employee
131 Views

Hi, have you tried the MKL Link Line Advisor?

http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor

This resource should help you alleviate any of those link errors you are getting. I would advise using the newest MKL library which would contain the memory fixes. 

Sharanga_D_
Beginner
131 Views

Yeah I tried that. Didn't work, still produced the same linker errors. Googling suggests that the intel libraries have been built with buffer overflow checks enabled. VS 6 doesn't support that (/GS switch).

Ying_H_Intel
Employee
131 Views

Hello, 

We had similiar issue in IPP. please see  

http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windo...

So you may try link dll  mkl_*_dll.lib and see if it can work.   Or try to build your project under release mode.

Anyway, you should have known that MKL don't support VS 6.0 for a long time, so a suggest may be if possible, upgrade the VS :).

Best Regars,

Ying.

Sharanga_D_
Beginner
131 Views

Thanks, that worked a treat!

Unfortunately, the app will requre a vast amount of changes to build on newer VS.

SergeyKostrov
Valued Contributor II
131 Views

>>...Unfortunately, the new MKL library (the Release 11 Update 5), produces a load of linker errors (I'm linking against mkl_intel_c, >>mkl_sequential and mkl_core. >> >>mkl_core.lib(psdftsfactca_w7---ownscDftOutOrdInv_Prime13_32fc_20121126.obj) : error LNK2001: unresolved external >>symbol ___security_cookie Please search on Microsoft website for more technical details regardning linker error. I remember that Microsoft released some additional object module in order to fix similar linking problems. However, I'm Not sure that the problem could be solved when legacy versions of Microsoft compilers are used. If you upload a complete test case ( let's say as smaller as possible ) I could look at it since I have VS6 SP5.
Sharanga_D_
Beginner
131 Views

Hi

This is resolved. I can get it to work in release mode (without debugging info.) with the bufferoverflowu.lib library.

SergeyKostrov
Valued Contributor II
131 Views

One more question: Do you use SP5 or SP6 with VS6?
Sharanga_D_
Beginner
131 Views

CL.EXE has version 6.00.8804.0m which I think means SP4.

This is a customer's machine, I'm not entirely sure. I was under the impression this was SP6, but I gues not.

SergeyKostrov
Valued Contributor II
131 Views

>>...CL.EXE has version 6.00.8804.0m which I think means SP4. I have SP5 and Processor Pack ( Intel MMX & SSE support ) installed and here are version numbers for CL.EXE: File Version: 12.00.8804.0 Product Version: 6.00.8804.0
SergeyKostrov
Valued Contributor II
131 Views

If I execute CL.EXE it shows: ... C:\VS1998\VC98\Bin>CL.EXE Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. ...
Sharanga_D_
Beginner
131 Views

Ok then I have service pack 5 I guess. Thanks for your help, but the app is being migrated to VS2008.

Reply