- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all,
I have a strange problem, similar to the one from this post :
http://software.intel.com/en-us/forums/topic/283594
I have windows 8 64bits pro, I am using visual studio 2010 ultimate, and compiling a 32 bits ATL/COM dll.
The MKL was linked to my visual studio 2010 project thanks to the integration of MKL to visual studio 2010, so that I just went to the properties of my project and choose (for all configurations) to use the sequential MKL library. (I wasn't even able to find in my project where the linking is explicitely appearing because it does not appear at the usual places I was modifying to link the mkl to my previous project, at the "pre-integration" time...)
When I build in debug mode, when I build for the first time (or when I do a rebuild) I have the following output :
"C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(744,5): warning MSB3073: The command "regsvr32 /s "C:\CODAGE\win8\mvs2010\MyBS\Toto\Debug\Toto.dll"" exited with code 3.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(756,5): error MSB8011: Failed to register output. Please try enabling Per-user Redirection or register the component from a command prompt with elevated permissions."
and when I just build for the second time (or when I do a simple build) I have no output error like the previous ones, but the problem remains, because dll doesn't even let itself being referenced in VBA, indicating that the debug one is completely f***ed up...
So I first tried to execute the "regsrv32 /s" command on my debug dll with the highest permissions, which failed, and then I tried to enable per-user redirection also, with the same result.
Then I searched on google and found the link I was mentionning at the beginning of my post :
http://software.intel.com/en-us/forums/topic/283594
I followed what was advised there and renamed the 64bits include, lib and bin directories, without success --> still the same error in debug build. Then I found this intel fortran related post :
http://software.intel.com/en-us/forums/topic/285673
where the advise was to pass the problematic dll to dependancy walker. I did it, and had this log message :
"Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module."
I search everywhere in dependancy walker, but did not find anything... I should mention that I have exactly the same issue when I build in release mode.
Help would be greatly appreciated !!
Thx a lot !
LvM
PS : I only have this related to the MKL in the code of the project compiling my dll :
#include "mkl_vsl_functions.h"
#include "mkl_vsl.h"
Link Copied
- 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
Hello Sergey, I rigorously have the same configuration than Pascal M.'s one, and had the same problem than he had. (I have mkl 32 & 64 installed, configured by the mvs2k10 inegretion thing etc). I'm not an expert and I don't understand your point "System Error Code 3 - The system cannot find the path specified ( ERROR_PATH_NOT_FOUND )" --> why is the dll not found !? Is it dued to something like mkl dll 64 bits used for build a 32 bits dll or ?... Dependency walker did not help me that much also... Could you be more "precise" ? (Sorry for such a noob questions.)
Thank you very much
- 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
To be more precise I have created an ATL/COM project also called "toto", where the mkl is used in the class MERSENNE_MKL_TOYMC in the file "MERSENNE_MKL_TOYMC.h", and in the method STDMETHODIMP CTOYMC::SETRANDOM( long CHOICERAND ) of the ATL object TOYMC. I have attached an exel spread sheet with compute button in any case, so that we could have a starting point for discussing the issues in the MVS2010 solution properties.
My MKL installation was 32 and 64bits from the very last update + mvs 2010 integration, and "use mkl sequential" chosen for all config in toto.sln as you will see
Thx a lot in advance
Kind Regards
- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi MEF,
i have trouble to unzip the file of toto.zip. So just quick review your environment set, and find there is no MKL path in environment PATH, which require at run time by application to find MKL_sequential.dll,
Could you please try to open one vs2010 command line windows,
cd the directory of dll located.
run the command
>C:\Program Files (x86)\Intel\Composer XE 2013\mkl\bin\mklvars.sh ia32
>regsrv32 /s your.dll
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yeah I know, but normally, you don't have to put anything special in the PATH env var, "properties --> configuration properties --> VC++ directories --> include / library & executables" being made for this. I mean, it would be particularly odd to oblige end users the put mkl stuff in PATH, right. (And this was not the case before. Is it now ? ) So, to sum up : I have put :
- in "properties --> configuration properties --> VC++ directories --> executables" : C:\Program Files %28x86%29\Intel\Composer XE 2013\redist\ia32\mkl;$(ExecutablePath)
- in "properties --> configuration properties --> VC++ directories --> include" : C:\Program Files %28x86%29\Intel\Composer XE 2013\mkl\include\ia32;C:\Program Files %28x86%29\Intel\Composer XE 2013\mkl\include;C:\Program Files %28x86%29\Intel\Composer XE 2013\mkl\include\fftw;$(IncludePath)
- in "properties --> configuration properties --> VC++ directories --> library" : C:\Program Files %28x86%29\Intel\Composer XE 2013\mkl\lib\ia32;$(LibraryPath)
- in "properties --> configuration properties --> Linker --> Input" : mkl_sequential_dll.lib;mkl_intel_thread_dll.lib;mkl_core_dll.lib;mkl_intel_c_dll.lib;comsvcs.lib;%(AdditionalDependencies)
and guess what... I still have the same result in VBA/Excel ("Run-Time Error -2147024770 (8007007e)" error) and in dependency walker :
"Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module."
What else should I do ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi MEF,
Right, In most of case, the MKL path should be in PATH after install. but If it is not there, you may need to add it manually. Or run the mklvars.sh as i mentioned last time.
Not sure why, according to my experience, the Executable Path setting in property in MSVC* environment don't work.
So either you add it by Right click Computer=>click Properties=> Advanced System setting=>Advanced Tab=>Enviornment Variables=>System Vaiables => Path.
Or run mklvars.sh , then in same command line windows, run dependency walker or register. Thus the MKL environment setting will reflect in dependecy walker windows and regiter.
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ying,
I have just tried what you've said, and had the same result in dependency walker, except that the mkl-sequential.dll is not red there anymore (see attached pic) as it was before ! (See also the attached "mkl_config.txt" file for details) : with your manual method, mkl_sequential.dll is at least detected. (x)
Nevertheless, I still have the same automation error in excel... (*)
All conf properties are in the "mkl_config.txt" file, you can have a look, as well as my PATH env var (actual and initial)
I put the folder of my mvs2010 solution in toto.rar, that I zipped then, and attached the resulting "toto.zip" file --> tell me if you can extract it and have a look maybe ?...
Regarding (*), ideally, if you could manage to compile my solution and reference the resulting debug dll in the VBA of the attached "ATL_MC.xls" excel file and then tell me exactly what paths related to mkl you have used to succeed in :
- your PATH env var
- in "properties --> configuration properties --> VC++ directories --> executables"
- in "properties --> configuration properties --> VC++ directories --> include"
- in "properties --> configuration properties --> VC++ directories --> library"
and what libs related to mkl you have in
- in "properties --> configuration properties --> Linker --> Input --> additional dependencies"
that would be terrific ! Because, now I really don't know what to do...
Last remark regarding (x) : as mkl_sequential.dll is detected with the manual method and not directly, it means that something is still wrong in conf properties of my solution, or in my PATH. Other errors flagged by dependency walker are that "Modules with different CPU types were found" --> nothing related to mkl 64 bits is in my PATH env var or in the conf properties of my solution, so that I really don't see the problem...
Thx a lot again,
MEF
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yeah, I know what environment variables are, it is just that I had a doubt, regarding your post from Fri, 07/19/2013 - 05:14, nothing is clear to me because I just see this :
"...
..\ICC2011\Composer XE 2011 SP1\Ipp\..\Redist\Ia32\Ipp
..\ICC2011\Composer XE 2011 SP1\Ipp\..\Redist\Ia32\Compiler
..\ICC2011\Composer XE 2011 SP1\Redist\Ia32\Mkl
..\ICC2011\Composer XE 2011 SP1\Redist\Ia32\Compiler
..\ICC2011\Composer XE 2011 SP1\Tbb\bin\..\..\Redist\Ia32\Tbb\vc10
..\ICC2011\Composer XE 2011 SP1\Redist\Ia32\Tbb\Vc8
..\ICC2011\Composer XE 2011 SP1\Redist\Ia32\Ipp
..\ICC2011\Composer XE 2011 SP1\Redist\Ia32\Mpirt
C:\Program Files\Common Files\Intel\Shared Libraries\Redist\Ia32\Compiler"
in your post, and I don't know to which env var each path on every line is supposed to belong...
With your post from Fri, 07/19/2013 - 05:14, do you mean that all these paths are supposed to be in my PATH env var, right ?
Other questiond : if modifying whatever env. var(s), it does mean that this (these) env. var(s) has (have) somehow the priority over the VS internal for the build of the dll ?
Other question : in propertires --> conf. properties --> linker --> input --> add. dependencies, I put :
mkl_sequential_dll.lib
mkl_intel_thread_dll.lib
mkl_core_dll.lib
mkl_intel_c_dll.lib
Nevertheless, I still have the same message of error in dependency walker, telling to me that mkl_sequential.dll is missing... Plus obviously the same VBA error...
I have attache
1) the result of the "SET|more" cmd in a txt file in any case
2) the zipped solution
3) the xls file using the output dll.
If you could have a look to tell me what is wrong in my env var, or in my project configurations, that would be really nice and appreciated, because I'm really lost here. It's a bit silly knowing that I only need this vor random number generation and intensive linear algebra solving...
Thx a lot.
MEF
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thx Sergey,
What do you mean by environment variables ? You mean variables like $(MKLIncludeDir), $(MKLLibDir) etc ?
Because I put "your" ".\ICC2011\Composer XE 2011 SP1\Redist\Ia32\Mkl" (which is called $(MKLPathForVC) on my MVS2010) in the executable directories (under "properties --> conf. properties --> VC++ directories) of my project, for debug and release configuration.
Now my dll can be builded (see the attach build log txt file) but I have a "Run-Time Error -2147024770 (8007007e)" error from VBA when I run the macro, calling the dll, error produced on the line :
Set ENGINE = New TotoLib.TOYMC
so that I am lost again. (This error is of course not happening with the dll builded when I take back everything mkl-related from my project.)
I put my dll to dependency walker and had similar error than those that Pascal M. above had, namely :
"Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module."
, dependency walker telling also me that "MKL_SEQUENTIAL.DLL" was not found in "C:\Program Files (x86)"... so that I'm really lost. (Why is it looking for it here, btw !?)
Any idea on what is happening here ?
Question : I would like to do the following thing : put use MKL to "no" for all configuration in my project properties, and the reference myself all paths needed in "Conf. properties --> VC++ directories" (that is "Executable Directories", "INclude directories", "Reference Directories", "Library Directories", "Source Directories" and "Exclude directories") myself. Could you maybe tell me what to put here ?
I am asking this because the MVS integration tool under the MKL 11 was supposed to make the life easier, as it did under MKL 10.3, but as it made a hell for me, I'd prefer to reference every directories myself. How could I do this ?
Thank you very much.
- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thx a lot Sergey ! If any infos are needed on my configuration, I'll be happy to pass them to you. Kind Regards,
MEF
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sergey and thank you very much in advance ! I will of course be happy to pass to you any infos on my configuration (PATHs, versions etc) needed, if needed.
Kind Regards,
MEF
- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thx for wanting to have a look Sergey, and thanks Pascal for having sent the zip to Sergey ! :-)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey Sergey, did you by any chance manage to have a look on the zipped project validationmklusing-mvs2010.zip that Pascal M sent for me ? I've tried again many things, but I still cannot manage to make it work, and I am really starting to be desperate about this. Thx in advance. Kind Regards
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page