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

Compiling Problem on installing both CVF and IVF, is it the inducement?

z_wang
Beginner
544 Views

Dear Moderator,

I wonder if it is not good to keep both CVF and IVF on the same machine.

I found the reason why I can't succeed in compiling my previous RAND() issue. The same problem happens on another old version DRNNOR(a normal random generator in CVF6.5), its counterpart in IVF-imsl is RNNOR. Actually, when I compiling .NET, it can't find RNNOR, no matter other part is all right. But it can find DRNNOR!!!

So I doubt if the problem is coming from the configuration of the compiler, maybe the .NET+CVF can find the libraries of both CVF and IVF.

My options of'lib and include' on intel Fortran are lists as follows

$(IFORTInstallDir)Lib
C:Program FilesCommon FilesIntelShared Filesia32Lib
$(VCInstallDir)lib
$(VCInstallDir)atlmfclib
$(VCInstallDir)PlatformSDKlib
C:Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1Lib
C:Program FilesMicrosoft Visual StudioVC98mfclib
C:Program FilesMicrosoft Visual StudioVC98lib
C:Program FilesIntelCompilerFortran9.0IA32Lib
C:Program FilesVNICTT6.0libIA32

$(IFORTInstallDir)Include
$(VCInstallDir)include
$(VCInstallDir)atlmfcinclude
$(VCInstallDir)PlatformSDKinclude
C:Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1include
C:Program FilesMicrosoft Visual StudioVC98atlinclude
C:Program FilesMicrosoft Visual StudioVC98mfcinclude
C:Program FilesMicrosoft Visual StudioVC98include
C:Program FilesIntelCompilerFortran9.0IA32Include
C:Program FilesVNICTT6.0includeIA32

Apparently, there is no sign of including the CVF, so I wonder how can I prevent the CVF from working without uninstalling the CVF.

Regards,

James

By the way, I can say the style of this forum is terrific!

0 Kudos
3 Replies
Steven_L_Intel1
Employee
544 Views

It is not a problem to have both CVF and IVF on the same system. I do and it works fine.

You are using IMSL routines and you need to understand the new coding style introduced with IMSL that comes with Intel Visual Fortran. DRNNOR is what they call a "Fortran 77" routine - it can be called without any special declarations, as long as you know what all the arguments are and pass them all correctly.

RNNOR is provided the old way and also with a "Fortran 90" interface that you get if you add:

USE RNNOR_INT

Since I don't know the details of what was "not found" and what didn't find it (compiler or linker?), I can't comment further, but it certainly is not related to also having CVF installed. It is good that you checked the LIB and INCLUDE paths as mixing those can lead to problems.

Are you really using the old version 9.0? I strongly recommend updating to 9.1.

0 Kudos
z_wang
Beginner
544 Views

Hi, Steve

I just create a very simple example

PROGRAM Main
INCLUDE 'link_f90_static.h'
INCLUDE 'link_f90_dll.h'
USE IMSL_LIBRARIES
USE RNNOA_INT
IMPLICIT NONE
REAL(8) :: norm_vector(5)
INTEGER :: I
CALL RNNOA(norm_vector)
WRITE(*,*) (norm_vector(I), I=1,5)
STOP
END PROGRAM Main

And the compiler gives the following information.

------ Build started: Project: Test, Configuration: Debug|Win32 ------

Compiling with Intel Fortran 9.0...
ifort /nologo /Zi /Od /module:"Debug/" /object:"Debug/" /traceback /check:bounds /libs:static /dbglibs /c E:ProgramStudioPSSIntel-PSSTestTest.F90
Linking...
Link /OUT:"Debug/Test.exe" /INCREMENTAL:NO /NOLOGO /DEBUG /PDB:"Debug/Test.pdb" /SUBSYSTEM:CONSOLE Debug/Test.obj
IPO Error: unresolved : __imp__MPIPRIV
Referenced in Debug/Test.obj
Link: executing 'link'
Test.obj : error LNK2001:unsolved external symbol__imp__MPIPRIV
Debug/Test.exe : fatal error LNK1120: 1 unsolved external command
Test build failed.

Sorry for so much trouble.

Regards,

James

0 Kudos
Steven_L_Intel1
Employee
544 Views

That's a compiler bug that was fixed quite a while ago (9.0.025). If you install the current 9.1 and rebuild, you won't see that.

If you are unable to use a newer compiler, a workaround is to add the following source to your project:

! Add this source to your project to correct the problem

! that, for a Debug build for certain projects using the

! IMSL Fortran libraries, the linker complains of an

! unresolved external symbol __imp__MPIPRIV

BLOCK DATA MPIPRIV_DEF

COMMON /MPIPRIV/ DUMMY

!DEC$ ATTRIBUTES ALIAS:"__imp__MPIPRIV" :: /MPIPRIV/

END BLOCK DATA MPIPRIV_DEF

0 Kudos
Reply