- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to convert my Compaq Visual Fortran project into Intel Visual Fortran 10.1.
A program within the project used imsl and with CVF it works fine.
I recently use IMSL library for IVF 9.1 as it's the one compatible with IVF, but I got this compiling error:
Error: Error in opening the Library module file. [IMSL]
Does anybody know how to resolve this ?
Thanks, Robert
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please state the exact versions of the compiler and IMSL that you are using, and whether you are targeting Windows-32 or Windows-64.
The error message indicates that the module file IMSL.MOD was not found using %INCLUDE% or through settings in the IDE for include/module files, or that the module file was not compatible with your compiler.
See this article for useful information:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Now i use imsl 6.0 and Intel.Visual.Fortran.Composer.XE.2011.5.221(VS2010+IVF11+win7-64),some codes as follow:
subroutine Fill2
include 'link_fnl_static.h'
use imsl
but I got this compiling error:
error 1 :error #7002: Error in opening the compiled module file. Check INCLUDE paths. [IMSL]
error 2: error #6764: A unary defined OPERATOR definition is missing or incorrect. [.I.] (.i. is a function in imsl,i use it in cvf is fine,why i cannot use in this? )
Can you give me a favor?
Thaks,Robert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The second error is due to the first one.
The IMSL module is not being found. You need to set the project include path correctly so this can be found. Search the documentation for IMSL, you will find the settings you need. From VS, the page is entitles "Using the IMSL Libraries from the Integrated Development Environment"
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
David White wrote:
The second error is due to the first one.
The IMSL module is not being found. You need to set the project include path correctly so this can be found. Search the documentation for IMSL, you will find the settings you need. From VS, the page is entitles "Using the IMSL Libraries from the Integrated Development Environment"
David
I set the project include path ,but errors still. See details from Attachments.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In your Fortran source file, change
use imsl
to
use imsl_libraries
(edit: this is probably not what you want; please see Steve Lionel's post below).
The version of IMSL that came with some editions of CVF provided a module file called imsl.mod, whereas current versions of IMSL provide a module file called imsl_libraries.mod.
I noticed from the screenshot that the list of directories specified in Visual Studio for locating include and module files contains both the X64 and IA32 directories. That amounts to asking for trouble in advance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
mecej4 wrote:
In your Fortran source file, change
use imsl
to
use imsl_libraries
The version of IMSL that came with some editions of CVF provided a module file called imsl.mod, whereas current versions of IMSL provide a module file called imsl_libraries.mod.
I noticed from the screenshot that the list of directories specified in Visual Studio for locating include and module files contains both the X64 and IA32 directories. That amounts to asking for trouble in advance.
Thanks,I changed use imsl to use imsl_libraries ,the error is missing,but new error exists.It show as follow:
1>C:\Users\Tcl\Documents\Visual Studio 2010\Projects\Console2\Fill_Matrix_new2.f90(30): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
1> temp_rad=0.1*vwaveLength 1>^
1>[ Aborting due to internal error. ]
I don't use imsl_libraries ,any other method could realize the same function?
Thanks again,Robert.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually, the proper replacement for USE IMSL is USE NUMERICAL_LIBRARIES. IMSL_LIBRARIES pulls in all of the "Fortran 90" interfaces, which is not compatible with the old code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually, the proper replacement for USE IMSL is USE NUMERICAL_LIBRARIES.
Thanks, Steve. I replied without knowing which IMSL routines are called from the OP's sources.
A quick fix, then, would be to make a copy of numerical_libraries.mod and call it imsl.mod without changing the OP's sources, at all. Would that cause new problems that I do not foresee?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Or create in his own project, a source file containing:
[fortran]
module imsl
use numerical_libraries
end module imsl
[/fortran]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I change as your suggestion,
<code>
subroutine Fill2
use imsl_libraries
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
use numerical_libraries
<code>
but the errors are :
error #6764: A unary defined OPERATOR definition is missing or incorrect. C:\Users\Tcl\documents\visual studio 2010\Projects\Console2\Fill2.f90 247
error #6764: A unary defined OPERATOR definition is missing or incorrect. C:\Users\Tcl\documents\visual studio 2010\Projects\Console2\Fill2.f90 372
In line 247and 372,the codes are the same.<code> iT(:,:) = .i. T(:,:) <code>
So this way don't has 1>[ Aborting due to internal error. ],but it cannot realize the function.
Could you help me ?
Thanks,Robert.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh, so you are using the linear operators. Don't include both IMSL_LIBRARIES and NUMERICAL_LIBRARIES. Since you're using the linear operators, try replacing the USE lines with:
USE LINEAR_OPERATORS
and see what happens. If you use other IMSL routines, that may cause other errors. Also, replace:
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
with:
!DEC$ OBJCOMMENT LIB:"libguide40.lib"
because you're using such an old version.
Would you please attach a small program that shows the error? It doesn't matter if the program doesn't do anything useful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks to everyone,now my project can run;
but the result is not right,I guess the reason is the definition of data types.
I may post the reslut error in Forum.
Thanks again,Robert.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page