- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I have installed the IMSL Library first time on my computer. Now, I try to use it but I could not use. The code I try to compile is below:
PROGRAM MAIN
USE IMSL_LIBRARIES
IMPLICIT NONE
INTEGER ISEED, NCAT, NDFEST, NELM
PARAMETER (ISEED=123457, NCAT=6, NDFEST=0, NELM=1000)
!
INTEGER I, IX(NELM), NOUT
REAL CDF, CHISQ(NCAT+1), COUNTS(NCAT), CUTP(NCAT-1), DF, &
EXPECT(NCAT), P, RNGE(2), X(NELM)
EXTERNAL CDF
!
DATA RNGE/0.0, 0.0/
DATA CUTP/.5, 1.5, 2.5, 3.5, 4.5/
!
CALL RNSET (ISEED)
! Generate the data
CALL RNBIN (5, 0.3, IX)
DO 10 I=1, NELM
X(I) = IX(I)
10 CONTINUE
!
CALL CHIGF (CDF, NELM, X, NCAT, RNGE, NDFEST, CUTP, P, &
COUNTS=COUNTS, EXPECT=EXPECT, CHISQ=CHISQ, DF=DF)
! Print results
CALL WRRRN ('Counts', COUNTS, 1, NCAT, 1)
CALL WRRRN ('Expect', EXPECT, 1, NCAT, 1)
CALL WRRRN ('Contributions to Chi-squared', CHISQ, 1, NCAT, 1)
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) CHISQ(NCAT+1), P, DF
99999 FORMAT (///'0Chi-squared ', F8.4, /, ' P-value ' &
, F8.4, /, ' Degrees of freedom', F8.4)
END
!
REAL FUNCTION CDF (Y)
REAL Y
!
INTEGER I
REAL BINDF
EXTERNAL BINDF
!
I = Y
CDF = BINDF(I,5,0.3)
RETURN
END
The compiler gives an error message at 2nd line that "error #7002: Error in opening the compiled module file. Check INCLUDE paths. [IMSL_LIBRARIES]". Is the problem related to install IMSL Library on my computer?
I have installed the IMSL Library first time on my computer. Now, I try to use it but I could not use. The code I try to compile is below:
PROGRAM MAIN
USE IMSL_LIBRARIES
IMPLICIT NONE
INTEGER ISEED, NCAT, NDFEST, NELM
PARAMETER (ISEED=123457, NCAT=6, NDFEST=0, NELM=1000)
!
INTEGER I, IX(NELM), NOUT
REAL CDF, CHISQ(NCAT+1), COUNTS(NCAT), CUTP(NCAT-1), DF, &
EXPECT(NCAT), P, RNGE(2), X(NELM)
EXTERNAL CDF
!
DATA RNGE/0.0, 0.0/
DATA CUTP/.5, 1.5, 2.5, 3.5, 4.5/
!
CALL RNSET (ISEED)
! Generate the data
CALL RNBIN (5, 0.3, IX)
DO 10 I=1, NELM
X(I) = IX(I)
10 CONTINUE
!
CALL CHIGF (CDF, NELM, X, NCAT, RNGE, NDFEST, CUTP, P, &
COUNTS=COUNTS, EXPECT=EXPECT, CHISQ=CHISQ, DF=DF)
! Print results
CALL WRRRN ('Counts', COUNTS, 1, NCAT, 1)
CALL WRRRN ('Expect', EXPECT, 1, NCAT, 1)
CALL WRRRN ('Contributions to Chi-squared', CHISQ, 1, NCAT, 1)
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) CHISQ(NCAT+1), P, DF
99999 FORMAT (///'0Chi-squared ', F8.4, /, ' P-value ' &
, F8.4, /, ' Degrees of freedom', F8.4)
END
!
REAL FUNCTION CDF (Y)
REAL Y
!
INTEGER I
REAL BINDF
EXTERNAL BINDF
!
I = Y
CDF = BINDF(I,5,0.3)
RETURN
END
The compiler gives an error message at 2nd line that "error #7002: Error in opening the compiled module file. Check INCLUDE paths. [IMSL_LIBRARIES]". Is the problem related to install IMSL Library on my computer?
Link Copied
38 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm starting to work with intel VF 11.0.066 and I tried to use the IMSL by calling "use numerical_libraries", but is not that simple. I don't know if you can help me on this. This is very basic: how to add imsl functionality to IVF?
Thanks in advance
Thanks in advance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please read Installing and using the IMSL* Libraries
If after reading that you have further questions, feel free to ask here.
If after reading that you have further questions, feel free to ask here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
See my post above.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
See my post above.
I'm working with the following file (is the traditional foxes vs. rabits problem)
PROGRAM ZORROSVSCONEJOS
USE IMSL_LIBRARIES
INTEGER, PARAMETER :: MXPARM = 50, N = 2
INTEGER :: IDO, ISTEP
REAL :: PARAM(MXPARM), T, TEND, TOL, Y(N)
EXTERNAL :: FCN
!! initial conditions
T = 0.0
Y(1) = 1.0
Y(2) = 3.0
!! tolerance
TOL = 0.0005
! set parameters to defaults
CALL SSET (MXPARM, 0.0, PARAM, 1)
PARAM(10) = 1.0
!print header
WRITE(*,*) 'ISTEP ', TIME ' , 'Y1 ', 'Y2 '
WRITE(*,*) '==================================='
IDO = 1
ISTEP = 0
DO WHILE (ISTEP <= 10)
ISTEP = ISTEP + 1
TEND = ISTEP
CALL IVPRK (IDO, N, FCN, T, TEND, TOL, PARAM, Y)
IF (ISTEP <= 10) THEN
WRITE (*,*) ISTEP, T, Y
END IF
END DO
IF (ISTEP == 10) THEN
IDO = 3
END IF
END PROGRAM ZORROSVSCONEJOS
and I got the following error:
Error 1 error #6285: There is no matching specific subroutine for this generic subroutine call. [IVPRK] C:Documents and SettingsjbaezapMis documentosVisual Studio 2005ProjectsQWin2QWin2Source1.F90 32
Any advise on this one?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Change USE IMSL_LIBRARIES to USE NUMERICAL_LIBRARIES
Your call to IVPRK is using the older "Fortran 77" argument style, but IMSL_LIBRARIES defines the new "Fortran 90" style which has different arguments. You can see the IMSL documentation for IVPRK if you want the details.
USE NUMERICAL_LIBRARIES will declare the older interfaces.
Your call to IVPRK is using the older "Fortran 77" argument style, but IMSL_LIBRARIES defines the new "Fortran 90" style which has different arguments. You can see the IMSL documentation for IVPRK if you want the details.
USE NUMERICAL_LIBRARIES will declare the older interfaces.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
....
USE NUMERICAL_LIBRARIES will declare the older interfaces.
USE NUMERICAL_LIBRARIES will declare the older interfaces.
I did the change and these were the error messages:
Error 2 error LNK2019: unresolved external symbol _IVPRK referenced in function _MAIN__ Source1.obj
Error 1 error LNK2019: unresolved external symbol _SSET referenced in function _MAIN__ Source1.obj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add the following lines after the USE NUMERICAL_LIBRARIES
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
If you are using the version 10.x IMSL, replace the second line with:
!DEC$ OBJCOMMENT LIB:'libguide.lib'
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
If you are using the version 10.x IMSL, replace the second line with:
!DEC$ OBJCOMMENT LIB:'libguide.lib'
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It works nicely! Thanks Steve!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Add the following lines after the USE NUMERICAL_LIBRARIES
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
If you are using the version 10.x IMSL, replace the second line with:
!DEC$ OBJCOMMENT LIB:'libguide.lib'
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
If you are using the version 10.x IMSL, replace the second line with:
!DEC$ OBJCOMMENT LIB:'libguide.lib'
It works! Thanks Steve!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Add the following lines after the USE NUMERICAL_LIBRARIES
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
If you are using the version 10.x IMSL, replace the second line with:
!DEC$ OBJCOMMENT LIB:'libguide.lib'
include 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
If you are using the version 10.x IMSL, replace the second line with:
!DEC$ OBJCOMMENT LIB:'libguide.lib'
What should I do for using the fortran 90 call to IMSL?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CALL IVPRK (IDO, FCN, T, TEND, Y, TOL=TOL, PARAM=PARAM)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
CALL IVPRK (IDO, FCN, T, TEND, Y, TOL=TOL, PARAM=PARAM)
Ok, I did some changes to the program to adecuate it to the sample code of the IMSL
[cpp]PROGRAM FOXESANDRABITS USE IMSL_LIBRARIES INTEGER, PARAMETER :: MXPARM = 50, N = 2 INTEGER :: IDO, ISTEP REAL :: PARAMETERS(MXPARM), T, TEND, TOLERA, Y(N) EXTERNAL :: FCN !! INITIAL CONDITIONS T = 0.0 Y(1) = 1.0 Y(2) = 3.0 !! TOLERANCE TOLERA = 0.0005 ! PARAM TO DEFAULT VALUES PARAMETERS= 0.E0 ! ABSOLUTE ERROR CONTROL PARAMETERS(10) = 1.0 !PRINT HEADER WRITE(*,*) 'ISTEP ', 'TIEMPO ', 'Y1 ', 'Y2 ' WRITE(*,*) '===================================' IDO = 1 ISTEP = 0 DO WHILE (ISTEP <= 10) ISTEP = ISTEP + 1 TEND = ISTEP CALL IVPRK (IDO, FCN, T, TEND, Y, TOL = TOLERA, PARAM = PARAMETERS) IF (ISTEP <= 10) THEN WRITE (*,*) ISTEP, T, Y END IF END DO IF (ISTEP == 10) THEN IDO = 3 END IF END PROGRAM FOXESANDRABITS[/cpp]
And the message that appears is:
Error 1 error LNK2019: unresolved external symbol _S_IVPRK referenced in function _MAIN__ PRINCIPALZORROSYCONEJOS.obj
What I did wrong?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You left out the include and !DEC$ lines again.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
You left out the include and !DEC$ lines again.
So, either the program is F77 or F90 I have to put them? Ok
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Those lines are the easiest way to specify which IMSL library set you are linking with. If you do not specify the libraries another way, you need them, no matter which style of call you use.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Those lines are the easiest way to specify which IMSL library set you are linking with. If you do not specify the libraries another way, you need them, no matter which style of call you use.
On may laptop, which is still runnig version 10 of the compiler together with Compaq VF and Visual Studio Express I had no problem running the IMSL Validate program. On my office machine which is running version 11 of IMSL and Intel Fortran as well as CVF, Visual Studio.Net 2003 and VC++ the compiler gets confused and when I try to compilie Validate it says: warning #10268 Microsoft compiler version 6 or earlier is not supported.
On both machines, no interpretation of the instructions above or in the basic imsl article results in 'link_fnl_static.h' being read when I try to use the IDE.
christ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
christ,
Are you building this from the IDE? Please go into Tools > Options > Intel Fortran > Compilers. Click the ... next to Executable files. Copy the contents and paste it into a reply here. Do the same for Library Files and Executable Files.
Are you building this from the IDE? Please go into Tools > Options > Intel Fortran > Compilers. Click the ... next to Executable files. Copy the contents and paste it into a reply here. Do the same for Library Files and Executable Files.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
christ,
Are you building this from the IDE? Please go into Tools > Options > Intel Fortran > Compilers. Click the ... next to Executable files. Copy the contents and paste it into a reply here. Do the same for Library Files and Executable Files.
Are you building this from the IDE? Please go into Tools > Options > Intel Fortran > Compilers. Click the ... next to Executable files. Copy the contents and paste it into a reply here. Do the same for Library Files and Executable Files.
Here is the info:
EXecutables
$(IFortInstallDir)binia32
$(CommonProgramFiles)IntelShared FilesIa32Bin
$(VSInstallDir)Common7ide
$(VCInstallDir)bin
$(VSInstallDir)Common7Tools
$(VSInstallDir)Common7Toolsbin
$(VCInstallDir)PlatformSDKbin
$(FrameworkSDKDir)bin
$(FrameworkDir)$(FrameworkVersion)
$(PATH)
Libraries
$(IFortInstallDir)libia32
$(VCInstallDir)atlmfclib
$(VCInstallDir)lib
$(VCInstallDir)PlatformSDKlib
$(FrameworkSDKDir)lib
$c:Program FilesIntelArray Visualizerlib
$c:Program FilesVNIimslfnl600IA32lib
INCLUDES
$(IFortInstallDir)include
$(IFortInstallDir)includeia32
$(VCInstallDir)atlmfcinclude
$(VCInstallDir)include
$(VCInstallDir)PlatformSDKinclude
$(FrameworkSDKDir)include
$c:Program FilesIntelArray Visualizerinclude
$C:Program FilesVNIimslfnl600IA32includedll
Lines from my code:
INCLUDE 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'
Thanks,
christ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please attach (see instructions below) the Buildlog.htm from the Debug or Release folder after you do a Rebuild of the solution and it fails.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Please attach (see instructions below) the Buildlog.htm from the Debug or Release folder after you do a Rebuild of the solution and it fails.
Log file should be in folder cf_check
cf

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