- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a problem creating static libraries in IVF XE 13.1.0.149 with VS 2008. The "Lib" executable could not be found when creating the library. Also, after upgrading to the latest IVF version, a warning message saying that "mspdb80.dll" or "mspdb100.dll" could not be found occurs when compiling the 64-bit version. The error messages are the following:
++++++++++++++++++++++++++++++++++++++++++
32-bit build:
Compiling with Intel(R) Visual Fortran Compiler XE 13.1.0.149 [IA-32]...
ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc90.pdb" /traceback /check:bounds /check:stack /libs:static /threads /dbglibs /c /extfor:f /Qvc9 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Intel Fortran\Microsoft Files\VC\\bin" "Y:\Documents\Matrix\ISIS2_euclid\mv\BlasDotWrap.f"
Creating library...
Lib /OUT:"Debug/Forlib.lib" /NOLOGO "Debug\BlasDotWrap.obj"
xilib: executing 'lib'
xilib: error #10037: could not find 'lib'
Lib: error spawn_errno_default: spawn('C:\PROGRA~2\Intel\COMPOS~1\bin\ia32\xilink.exe') failed, errno=0
Forlib - 2 error(s), 0 warning(s)
------------------------------------------
64-bit build:
Compiling with Intel(R) Visual Fortran Compiler XE 13.1.0.149 [Intel(R) 64]...
ifort /nologo /debug:full /Od /warn:interfaces /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc90.pdb" /traceback /check:bounds /check:stack /libs:static /threads /dbglibs /c /extfor:f /Qvc9 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Intel Fortran\Microsoft Files\VC\\bin\amd64" "Y:\Documents\Matrix\ISIS2_euclid\mv\BlasDotWrap.f"
warning #31001: The dll (mspdb80.dll or mspdb100.dll) for reading and writing the pdb could not be found on your path. This is usually a configuration error.Compilation will continue using /Z7 instead of /Zi, but expect asimilar error when you link your program.
Creating library...
Lib /OUT:"x64\Debug/Forlib.lib" /NOLOGO "x64\Debug\BlasDotWrap.obj"
xilib: executing 'lib'
xilib: error #10037: could not find 'lib'
Lib: error spawn_errno_default: spawn('C:\PROGRA~2\Intel\COMPOS~1\bin\Intel64\xilink.exe') failed, errno=0
Forlib - 2 error(s), 1 warning(s)
++++++++++++++++++++++++++++++++++++++++++
The workaround/solution for these problems is to modify the "Executables:" path in VS 2008 as follows:
1.) Select "Tools->Options"
2.) Expand "Intel Composer XE"
3.) Expand "Visual Fortran"
4.) Select "Compilers"
5.) For 32-bit:
a.) Under "Platform:", select "Win32"
b.) Select "..." for "Executables:"
c.) Add the following:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin"
under
"$(VCInstallDir)BIN"
d.) Select "OK"
6.) For 64-bit:
a.) Under "Platform:", select "x64"
b.) Select "..." for "Executables:"
c.) Add the following:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64"
under
"$(VCInstallDir)bin\amd64"
d.) Select "OK"
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did this work with Update 1? Are you using the VS2008 Shell or a regular install of VS2008?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I first tried to create the libraries on Update 2. Then, I uninstalled Update 2 and reinstalled Update 1, but still couldn't create a library.
I'm using the regular install of VS2008.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the content of Tools > Options > Intel Composer XE > Visual Fortran > Compiler > Executables (without any changes you made)?
- 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
That all looks correct. Please try logging out and in again and see if the build still fails. If it does, try a reboot. I've seen this fix similar issues.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Both logging out and in and rebooting didn't work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve, Isn't this the same problem as I had (VS Settings again) . The path in the first post includes \Intel Fortran\Microsoft Files\VC which presumably doesn't exist as the fix was to add the true VS2008 path to VC. Presumably update 2 is configuring the property page macros incorrectly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The path with "Microsoft Files" would be correct if you were using the included VS Shell and Libraries. It would not be correct if using a "retail" version of Visual Studio.
We've had several complaints of this issue with Update 2 and are trying to understand it.
Please do the following. First, click on the Windows button and type regedit.exe into the search box and press Enter. Browse to the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC , copy the value of the ProductDir value and paste it into a reply here.
Next, in VS right click on your Fortran project and select Properties. Go to Build Events > Pre-Build Events. In Command Line, type:
echo "%PATH%"
and click OK. Now do a build. Attach a ZIP of the buildlog.htm to a reply here.
- 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
Thanks, that was very helpful. I was looking for buildlog.htm which would be in the Debug folder, but this was ok.
For some reason, the Fortran integration thinks you have the VS2008 Shell rather than the full VS2008. The workaround for now is as you discovered - putting the full path to the VC\BIN folder in the Executables folder list. I am not sure why some people see this and some don't. I will let the developers know about it - we apologize for the inconvenience.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Understood. Thanks for your help with the issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The developers tell me that they think they fixed this in Update 3. They also suggest that if you replace $(VCInstallDir) with $(VSInstallDir) it may help as a workaround.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No problems after installing Update 3. Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve
Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.0.103 Build 20130728
Visual Studio Shell 2008
Winteracter 9.2c
Windows 7 x64
I have a similar issue. I am using the Winteracter development environment to build my exes. It gives me the choice of getting the environment settings from VS or my path, I've tried both.
On compilation with the following switches
-c -include:"C:\Program Files (x86)\compiler\WINTER\lib.i64" -Qvec-report0 -check:all -debug:full -traceback -warn:all -heap-arrays
I get the following error
warning #31001: The dll for reading and writing the pdb (for example, mspdb110.dll) could not be found on your path. This is usually a configuration error. Compilation will continue using /Z7 instead of /Zi, but expect a similar error when you link your program.
However unlike the OP the program links and created an exe which rather than putting up an error message on crashing just shuts down. If I start my exe from a DOS shell then the error gets reported to the dos shell in the same way it would have done to a windows dialogue.
I uninstalled all versions of VS (2005, 2008 & 2010) as well as Composer XE, rebooted, manualy removed all the VS and Intel directories, ran regclean a couple of times, rebooted and reinstalled the full composer download
I don't have mspdb110.dll but do have mspdb100.dll in two places;
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Intel Fortran\Microsoft Files\VC\Bin\amd64\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\
The two dlls are different sizes so not identical.
I tried adding the explicit path to the list of pathes in the VS exes as per the OP - no change. I tried changeing the references to VCInstalDir to VSInstallDir - no change. As neither VSInstallDir nor VCInstallDir were declared in my normal environment variables but VSShell2010InstallDir was I tried refeferencing the VSInstallDir lines to VSShell2010InstallDir - no change.
I tried running ifort from a command prompt established from Start\Intel ....\Command Prompt\....64 bit using the switches above. Same error message.
Any tips?
Cheers
Kim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kim, are you using the bundled Visual Studio? You talk about uninstalling and reinstalling VS, but the presence of the Shell folders and environment variables has me a bit puzzled. However, I have seen the installer get confused when installing the shell over remnants of an earlier VS install.
Please uninstall Fortran and the folloiwing additional items, if present:
Microsoft Visual Studio 2010 Shell (Integrated) - ENU
Microsoft Visual Studio 2010 Files for Intel Visual Fortran
Microsoft Visual Studio 2010 Remote Debugger – ENU
Delete the folder Program Files (x86)\Microsoft Visual Studio 10.0
Now if you have a regular VS2010, install that and then Intel Fortran. Otherwise, install the full Intel Fortran (including the Shell.) Let me know what happens.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve
Yes I'm using the bundled VS not a stand alone version.
Before my original post I did as you suggest as well as uninstalling VS2005 and 2008 which were leftovers from previous Visual Fortran instalations over the past 3 years. So to be clear - I uninstalled all the versions of VS, and any file groups that were associated with it. Uninstalled Fortran, rebooted and manually removed the residual directories from Program Files (x86). I then did a clean and full install of Fortran Composer XE. The only quirk I noted on installation was that a couple of screens in I got a message to say I had already integrated VF with VS 2010 and that continueing with the instalation would overwrite that integration so presumably there were some relics left in the registry that did not get removed with the uninstalation.
One thing I did not mention is that this has only been a problem for a few months but I think it started before the most recent update i.e I think it was happening during the later stages of version 13, I was just too busy to spend time worrying about it as the exes seemed to work. I had not had them crash and not report a windows format RT error though. It only happens when I compile using the 64 bit compiler/linker. 32 bit appears to be fine.
Cheers
Kim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The link-time error should not cause any ill effects at run-time. Are you building from the VS environment or the command line?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve
The apparent lack of ill effects is why it has taken me a while to investigate. However the loss of windows run time error messages is enough of an ill effect to start me hunting.
I'm building from the IDE in Winteracter, however I also tried building from the command line using the shell created by the Intel 64 Visual Studio 2010 mode shortcut on the start menu and get the same error message.
I suspect there are other dlls not being found and not reported when I compile in optimised mode. When I compile in debug mode I get the error 31001 message but not when I compile in optimised mode. However both exes now terminate without displaying a windows run time error. If run from a DOS box rather than through Windows the run time error is reported to the DOS box along with the traceback. This is new behaviour as for the past 3-4 years run time errors have been reported to a window allowing the user to see what the problem was. My compiler switches in Winteracter have not changed. Just to reiterate; the problem only occurs when I compile in 64 bit mode, the 32 bit programs still display run time errors in a window.
Cheers
Kim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kim, I don't spot where you told me what the run-time error says.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve
I'm using it in the generic sense rather than talking about a specific run time error. The run time errors are either due to logic errors in my programming or bad data. That is not the problem. The problem is that coincident with the occurrance of my #31001 errors on compiling the debug version both the depug and production version exes now just crash if they encounter a run time error whereas they used to pop up a window displaying the error and traceback. If instead of launching the exe in Windows I launch it in a DOS box then run time errors are reported along with the trace back so it looks to me as if the build is not loading the components for intel to address the windows gui directly.
Cheers
Kim
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page