Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL with legacy app (Visual Studio 6)

Sharanga_D_
Beginner
936 Views

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
936 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. 

0 Kudos
Sharanga_D_
Beginner
936 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).

0 Kudos
Ying_H_Intel
Employee
936 Views

Hello, 

We had similiar issue in IPP. please see  

http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-lnk2001-error-unresolved-external-symbol-_security_cookie

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.

0 Kudos
Sharanga_D_
Beginner
936 Views

Thanks, that worked a treat!

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

0 Kudos
SergeyKostrov
Valued Contributor II
936 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.
0 Kudos
Sharanga_D_
Beginner
936 Views

Hi

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

0 Kudos
SergeyKostrov
Valued Contributor II
936 Views
One more question: Do you use SP5 or SP6 with VS6?
0 Kudos
Sharanga_D_
Beginner
936 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.

0 Kudos
SergeyKostrov
Valued Contributor II
936 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
0 Kudos
SergeyKostrov
Valued Contributor II
936 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. ...
0 Kudos
Sharanga_D_
Beginner
936 Views

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

0 Kudos
Reply