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

Cannot find ifqwin module when compiling

ferrad
New User
1,408 Views
I have a bit of code that includes fgraph.fd:
subroutine fred(...)
include 'fgraph.fd'
...
but when I compile it, I get:
C:PROGRA~1IntelCompilerFortran9.0IA32includefgraph.fd(18) : Error: Error in opening the Library module file. [IFQWIN]
ifqwin.mod is in the IA32Include directory which is in the INCLUDE environment variable.
What is the problem?

Adrian
0 Kudos
10 Replies
Steven_L_Intel1
Employee
1,408 Views
Are you doing this from the IDE or the command line? What happens if you replace the include line by USE IFQWIN?

I'm having trouble coming up with a scenario where the include would work but the USE would not. If the problem persists, please report it to Intel Premier Support and attach a ZIP of your project.
0 Kudos
ferrad
New User
1,408 Views
From the command line. But I get the same problem from the IDE. It seems to be caused by the inclusion of the /INCLUDE argumentwith the IFORT command.
ie. a simple program such as:
program test
include 'fgraph.fd'
end
will fail when compiled with:
ifort /c test.for /INCLUDE:D:
It finds fgraph.fd just fine in C:Program FilesIntelCompilerFortran9.0IA32Include (which is in the INCLUDE env. variable), but somehow can't find ifqwin.mod even though it is in the same place.
0 Kudos
Steven_L_Intel1
Employee
1,408 Views
Interesting - I can't reproduce this. Please write to Intel Premier Support so that we can work with you on it.
0 Kudos
ferrad
New User
1,408 Views
This was resolved by Premier Support, but I thought I'd post the workaround here for reference:
Problem:
I have a compilation error when including fgraph.fd in my code, which is caused by the use of the /INCLUDE argument with the IFORT command.

ie. a simple program such as:

program test
include 'fgraph.fd'
end

fails when compiled with:

ifort /c test.for /INCLUDE:D:

The message is:
C:PROGRA~1IntelCompilerFortran9.0IA32includefgraph.fd(18) : Error: Error in opening the Library module file. [IFQWIN]

It finds fgraph.fd just fine in C:Program FilesIntelCompilerFortran9.0IA32Include (which is in the INCLUDE env. variable), but somehow can't find ifqwin.mod even though it is in the same place.
Solution:
=====================================================================
If the user uses a lowercase include, as:
ifort /c test.for /free /include:C:the program works fine.

The uppercase is being interpreted as -I (in the Linux fashion) and causing interesting problems finding the include/mod files.

I just checked CVF, and it allows both upper and lowercase spellings of "include", so I'll fix up the ifort driver to do the same.

In the meantime - if the customer really needs a workaround, have them either lowercase the "INCLUDE" or use simply /I:
======================================================
Adrian
0 Kudos
Steven_L_Intel1
Employee
1,408 Views
There's a similar problem with /DLL which is interpreted as "define a preprocessor symbol LL". I'll talk to the driver maintainer and see if this should be similarly handled.
0 Kudos
ferrad
New User
1,408 Views
I'm running into another problem where the compiler cannot find a module even though its path is in the INCLUDE environment variable:
ifort /nologo /c /iface:cvf /Z7 /TfD:adrian-nsfpds_place2file_dump.for /define:INTEL9 /Qsave /Fods_place2file_dump.obj /include:D:adrian-nsfp,u:debug,u:source,baseline1sglomniworksclient6.1E444win32_95_x86 /fpconstant /real_size:64
D:adrian-nsfpds_place2file_dump.for(1065) : Error: Error in opening the Library module file. [DFLIB]
use DFLIB
----------^
and my INCLUDE environment variable
include=D:Program FilesIntelCompilerFortran9.0IA32include;d:adrian-nsfp;u:debug;u:source;D:VS7.1Vc7include;
D:VS7.1Vc7atlmfcinclude;D:VS7.1Vc7PlatformSDKinclude;C:WINNTDeveloperScriptIfxInclude;
C:WINNTinclude;baseline1sglomniworksclient6.1E444win32_95_x86;D:wingpdversion3;C:WINNT;C:Program FilesCommon FilesSystemado;D:VS6VC98ATLINCLUDE;D:VS6VC98INCLUDE;D:VS6VC98MFCINCLUDE;D:VS6DF98include;D:VS7.1SDKv1.1include;D:microsoft platform sdksrcwtlinclude
Does the /include option on the ifort command line overwrite that in the environment variable? If so, how do you append rather than overwrite?

Adrian

Message Edited by sblionel on 09-15-2005 12:53 PM

0 Kudos
Lorri_M_Intel
Employee
1,408 Views

Ahhhhhh I think I see the problem.

The syntax for /include is

/include:

and you use multiple /include switches, such as:

/include:adrian-nsfp /include:u:debug /include:u:source /include:baseline1sglomniworksclient6.1E444

I would not be surprised at all if the include processing within the compiler became "confused" by incorrect syntax, and refused to look in any of the include directories. That was what happened with the capitalized /INCLUDE from a few posts back.

Please try changing your command line as suggested, and let us know if it worked.

- Lorri

Message Edited by sblionel on 09-15-2005 12:51 PM

0 Kudos
ferrad
New User
1,408 Views

Lorri,

Yes that does work, however it is a change from the syntax allowed with DF.EXE, which means lots of changes to our scripts - is there any reason the previous syntax does not work?

Adrian

0 Kudos
ferrad
New User
1,408 Views

Lorri,

I have worked around this by adding a batch file wrapper around the ifort.exe call which translates the comma separated include directories into separate include statements. However I not happy with this solution as it requires everyone to use this batch file instead of the compiler executable.

Do you know if this will be fixed in later versions of the product?

Adrian

0 Kudos
Lorri_M_Intel
Employee
1,408 Views

The best way to get this fixed is to submit a problem report via support. Please also point out that it's an incompatibility with CVF, OK?

- Lorri

0 Kudos
Reply