Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

cannot use IMSL

Intel_C_Intel
Employee
544 Views

Hi. I just installed Intel Visual Fortran 10.1 for Windows with IMSL. I have a trouble using IMSL. When I run a program that has USE MSIMSL (which worked fine with Compaq Visual Fortran I used to use), I get an error :

Error in opening the compiled module file. Check INCLUDE paths. [MSIMSL]

Please help, and let me know how I could solve the problem. It must be something simple, but I have no clue...

Thanks a million.

0 Kudos
4 Replies
Steven_L_Intel1
Employee
544 Views
It is simple - Visual Numerics dropped the MSIMSL module from their package. Just change that to USE NUMERICAL_LIBRARIES and you should be ok. Also, because IMSL in Intel Fortran has more library types, you need to change the way you specify the libraries.

Add the lines:

include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libguide.lib'

to one of your sources and make sure that the paths to the IMSL LIB and INCLUDE folders are entered into Tools > Options > Intel Fortran > Directories > Libraries (and Include Files) respectively.

For more information, read the section on using IMSL in the Building Applications > Using Libraries > Using IMSL section of the on-disk documentation.
0 Kudos
Intel_C_Intel
Employee
544 Views

Hi

I try the following code:

INCLUDE

'link_fnl_static.h'

!DEC$ OBJCOMMENT LIB:'libguide.lib'

program

main

USE

OWFRQ_INT

USE

UMACH_INT

IMPLICIT NONE

INTEGER

K, NOBS

PARAMETER

(K=10, NOBS=30)

!

INTEGER

NOUT

REAL

DIV(K), TABLE(K), X(NOBS)

!

DATA

X/0.77, 1.74, 0.81, 1.20, 1.95, 1.20, 0.47, 1.43, 3.37, &

2.20, 3.00, 3.09, 1.51, 2.10, 0.52, 1.62, 1.31, 0.32, 0.59, &

0.81, 2.81, 1.87, 1.18, 1.35, 4.75, 2.48, 0.96, 1.89, 0.90, &

2.05/

!

CALL

UMACH (2, NOUT)

!

CALL

OWFRQ (X, K, TABLE, DIV=DIV)

WRITE

(NOUT,99999) DIV, TABLE

99999

FORMAT (' Midpoints: ', 10F5.2, /, ' Counts: ', 10F5.0)

END

================

I figure out "!DEC$ OBJCOMMENT LIB:'libguide.lib'" from this post.

I have two questions:

1. I open 'link_fnl_static.h' and find there are similar lib files. I am wondering why you don't put the second line in it.

2. In the Help: Building Applications > Using Libraries > Using IMSL section. There are eight header files to be INCLUDEd. I don't know which one should I INCLUDE.

3. I intentionally INCLUDE all of them and find:

Error1 fatal error LNK1104: cannot open file 'mpi.lib'LINK

Chien-Hui

0 Kudos
Intel_C_Intel
Employee
544 Views

I am also curious about whatthe mod files are contained in some lib file, e.g. 'libguide.lib'.

Thank you.

0 Kudos
Steven_L_Intel1
Employee
544 Views
The .h file was created by Visual Numerics. In fact, I recommended to them that they include libguide.lib in the file, but their recommendation to users is to add /Qopenmp to the compile options. As /Qopenmp has side-effects you may not want, such as making all variables automatic, I prefer the OBJCOMMENT directive to pull in the OpenMP library libguide.lib

Do not include all of the header files. Normally, the one you want is link_fnl_static.h. If you don't understand the descriptions of the others, stick with that one. The other variants may link to the DLL libraries (_shared) or use Intel MKL to speed up some operations (_hpc).
0 Kudos
Reply