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

USE IFPORT Failure

perry_ramseyitt_com
1,895 Views
What would cause USE IFPORT to cause an error

astap.for(3780): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [IFPORT]
USE IFPORT
------------^

ifport.mod is in
C:\Program Files (x86)\Intel\Compiler\11.0\074\fortran\include\ia32

and

C:\Program Files (x86)\Intel\Compiler\11.0\074\fortran\include\intel64

which is where it's supposed to be, I think.

Is there some setting or environment variable that didn't get set properly on install?
0 Kudos
5 Replies
Steven_L_Intel1
Employee
1,895 Views
In what environment are you doing the compile? Command line? If so, did you use the Build Environment shortcut to start the command prompt session? You should not have to do anything special to make this work, other than be in the right environment.
0 Kudos
dajum
Novice
1,895 Views
Steve,

Removing the /INCREMENTAL:NO switch from the compile and link command gets rid error finding the IFPORT module. But I don't understand how they are related. Can you explain this fixes the error and what effect it might have on getting tracebacks from a run-time error?

Thanks,

Dave
0 Kudos
Steven_L_Intel1
Employee
1,895 Views
/INCREMENTAL is a linker option - it is ignored by the compiler (with a warning message.) I cannot imagine how it could have an effect on the USE. It will have an effect on traceback, when used as a linker option, since traceback does not work when an executable is linked incrementally.
0 Kudos
dajum
Novice
1,895 Views
Steve,

I attached a short program, all it really does is call a subroutine that has a USE IFPORT statement.

It compiles and runs fine if I use IFORT ASTAP.FOR.

But try IFORT ASTAP.FOR /INCREMENTAL:NO and I get the error opening the library module file.

Can you try it and see why?

Dave
0 Kudos
Steven_L_Intel1
Employee
1,895 Views
Ah, I keep forgetting that many switches are case-sensitive. /I is a way to specify the INCLUDE path, so what you did was specify a path of "NCREMENTAL:NO". Because this is not valid syntax for a file path, the compiler gets confused and gives an error. Perhaps it would be better if it continued with other folders in the INCLUDE path.

If you want to specify linker options, precede them with /link - that will tell ifort to pass everything after /link to the linker.
0 Kudos
Reply