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

Getting error message "error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MPI]"

D_2
Beginner
3,803 Views

Hi,

I am an engineering student, working on a project that requires the use of Fortran code (this is to clarify - I'm not a developer or a computing student, so I'm finding troubleshooting this software is a bit tricky...) The code I need to run uses MPI libraries.

I've installed VS 2018 + Parallel Studio + MPI services as recommended on the Intel website (here - https://software.intel.com/en-us/mpi-developer-guide-windows-prerequisite-steps) The hydra_service is running fine, and I can see all of the requisite files in the Intel folders.

I've used the recommended settings in the project from here https://software.intel.com/en-us/mpi-developer-guide-windows-configuring-a-visual-studio-project ;

However, when I try to build my test project (a simple hello world one, with MPI), it won't build, and won't run.

I'm getting the error messages:

error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MPI]

Project : warning PRJ0018 : The following environment variables were not found: $(I_MPI_ROOT)

And I don't know how to fix it... 

I would really appreciate some ideas / directions about what's going on, and how to fix it. 

Thank you!

Daria

0 Kudos
10 Replies
Lorri_M_Intel
Employee
3,803 Views

The instructions told you to use the I_MPI_ROOT environment variable, assuming that it would be defined system-wide.  

Here's my suggestion.   Open a command windows, and invoke the mpivars.bat file as described in the first link you referenced.    Find the translation of I_MPI_ROOT by using the command "echo %I_MPI_ROOT%"

Then, go back into Developer Studio, and where you had specified $(I_MPI_ROOT) before --- replace that with the value you got in the command window/.

         Let us know if that worked for you --

                                   --Lorri

 

0 Kudos
LIN2
Beginner
3,052 Views

I encounter the similar issue with the outputs like this:

Cannot disable Fortran error message 7002
swanmain.f(35): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MESSENGER]
USE MESSENGER 40.95
----------^
Cannot disable Fortran error message 7002
swanmain.f(166): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MESSENGER]
USE MESSENGER 40.95
----------^
Cannot disable Fortran error message 6404
swanmain.f(449): error #6404: This name does not have a type, and must have an explicit type. [MNPROC]
IF ( MNPROC>1 ) THEN 40.95
-----------^
Cannot disable Fortran error message 7002
swanmain.f(5706): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [SIZES]
USE SIZES, ONLY: MNPROC
----------^
Cannot disable Fortran error message 6406
swanmain.f(5858): error #6406: Conflicting attributes or multiple declaration of name. [MNPROC]
IF ( MNPROC.GT.1 .AND. .NOT.SINCMP ) THEN 40.95
-------------^
Cannot disable Fortran error message 6580
swanmain.f(5706): error #6580: Name in only-list does not exist or is not accessible. [MNPROC]
USE SIZES, ONLY: MNPROC
-----------------------^
compilation aborted for swanmain.f (code 1)
make[1]: *** [Makefile:211: swanmain.o] Error 1
make[1]: Leaving directory '/mnt/c/FYP/adcirc_v55.01/thirdparty/swan'
make: *** [Makefile:169: punswan] Error 2

 

what should I do? thank you.

0 Kudos
D_2
Beginner
3,803 Views

Hi Lorri,

thank you so much for your reply, it worked! 

Also, it seems that some of the files didn't install properly... after 4 hours of tinkering and re-installing, the original links worked. So the project seems to be building ok! 

However, I'm now getting another error message - when I click on Debug x64, the output window spits out the following, and I don't get any results. 

Any thoughts? 

Thanks,

Daria

**** 

'mpiexec.exe' (Win32): Loaded 'C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.2.185\windows\mpi\intel64\bin\mpiexec.exe'. Cannot find or open the PDB file.

C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.2.185\windows\mpi\intel64\lib

...

The thread 0x159c has exited with code 0 (0x0).

The thread 0xe28 has exited with code 0 (0x0).

The thread 0x32fc has exited with code 0 (0x0).
'mpiexec.exe' (Win32): Unloaded 'C:\Windows\System32\NapiNSP.dll'
'mpiexec.exe' (Win32): Unloaded 'C:\Windows\System32\pnrpnsp.dll'
'mpiexec.exe' (Win32): Unloaded 'C:\Windows\System32\nlaapi.dll'
'mpiexec.exe' (Win32): Unloaded 'C:\Windows\System32\winrnr.dll'
'mpiexec.exe' (Win32): Unloaded 'C:\Windows\System32\FWPUCLNT.DLL'
The thread 0x3d3c has exited with code 0 (0x0).
The thread 0xa0c has exited with code 0 (0x0).
The thread 0x3908 has exited with code 0 (0x0).
The program '[14924] mpiexec.exe' has exited with code 0 (0x0).
0 Kudos
Lorri_M_Intel
Employee
3,803 Views

These messages do not show an error; exiting with code 0 indicates success. 

mpiexec.exe (the "launcher" for MPI codes) is not built with debug, and no PDB file should be found.

In general, you can ignore messages saying "PDB file not found" for any file you did not build.

Finally, I looked at the file you attached, and it's just module code.

What sort of output were you expecting?

                 --Lorri

0 Kudos
D_2
Beginner
3,803 Views

Hi Lorri,

Oops, don't worry about the attached file. I had a different question, hence attaching the file, but it got resolved by itself over the weekend. I couldn't delete the attachment though... 

Great to hear that the PDB thing is not an issue, and that code 0 means success. It's not intuitive for the beginners ;) 

One last question, if I may... I would like to get the CUDA / NVidia plugin working with this file.  I have a good video card in my machine that can function as a GPU. I've installed the required software already, and can see the Nsight tab in Visual Studio.

But the documentation I have found so far on the internet is scant. Would you be able to suggest any resources or locations for instructions re: how to get it working?

Thank you,

Daria

0 Kudos
Steve_Lionel
Honored Contributor III
3,039 Views

@LIN2 While the message may be similar, it's really unrelated to this thread. Generically, this message says that you have a USE statement that names a module (for example, MESSENGER) whose compiled module file (messenger.mod) cannot be found in the paths the compiler searches for modules and include files. The modules named in the error messages may come from your own application or that of some library you are building against. Either way, make sure that the sources for those modules are compiled before they are used, and that the INCLUDE path includes the location of the .mod files for these modules.

0 Kudos
LIN2
Beginner
3,035 Views

thank you. however, after i found those files, new errors coming out:

isable 8293 -o swan.exe -I/mnt/c/FYP/adcirc_v55.01/work/odir4
ifort: error #10236: File not found: '/mnt/c/FYP/adcirc_v55.01/work/odir4mkdir.o'
ifort: error #10236: File not found: '/mnt/c/FYP/adcirc_v55.01/work/odir4sizes.o'
ifort: error #10236: File not found: '/mnt/c/FYP/adcirc_v55.01/work/odir4global.o'
ifort: error #10236: File not found: '/mnt/c/FYP/adcirc_v55.01/work/odir4global_3dvs.o'
ifort: error #10236: File not found: '/mnt/c/FYP/adcirc_v55.01/work/odir4version.o'
ifort: error #10236: File not found: '/mnt/c/FYP/adcirc_v55.01/work/odir4messenger.o'
make[1]: *** [Makefile:205: swan.exe] Error 1
make[1]: Leaving directory '/mnt/c/FYP/adcirc_v55.01/thirdparty/swan'

0 Kudos
Steve_Lionel
Honored Contributor III
3,029 Views

Those are object files that come from previous compilations. Again, they are either part of your application or come from something else you're building with. It's possible your makefile has the build order wrong, or you aren't building everything.

You did not include the entire ifort command, but if you're building against a separately compiled set of objects, you need to tell the compiler driver (which invokes ld) where to find them.  For libraries (.a files), you can use -L to give the directory where they can be found, but I don't think that works with .o files.

0 Kudos
LIN2
Beginner
3,015 Views

thank you so much, i tried to eddit the makefile to locate the files. after I run it again, the outputs become like this:

global_3dvs.F:(.text+0x2f8b): undefined reference to `boundaries_mp_neta_'
ld: global_3dvs.F:(.text+0x30f0): undefined reference to `boundaries_mp_neta_'
ld: global_3dvs.F:(.text+0x3255): undefined reference to `boundaries_mp_neta_'
ld: global_3dvs.F:(.text+0x33ba): undefined reference to `boundaries_mp_neta_'
ld: global_3dvs.F:(.text+0x351f): undefined reference to `boundaries_mp_neta_'
ld: global_3dvs.o:global_3dvs.F:(.text+0x3684): more undefined references to `boundaries_mp_neta_' follow
ld: global_3dvs.o: in function `global_3dvs_mp_alloc_3dvs_':
global_3dvs.F:(.text+0x3811): undefined reference to `boundaries_mp_nvel_'
ld: global_3dvs.F:(.text+0x3976): undefined reference to `boundaries_mp_nvel_'
ld: global_3dvs.F:(.text+0x3adb): undefined reference to `boundaries_mp_nvel_'
ld: global_3dvs.F:(.text+0x3c40): undefined reference to `boundaries_mp_nvel_'
ld: global_3dvs.F:(.text+0x3da5): undefined reference to `boundaries_mp_nvel_'
ld: global_3dvs.o:global_3dvs.F:(.text+0x3f22): more undefined references to `boundaries_mp_nvel_' follow
make[1]: *** [Makefile:205: swan.exe] Error 1
make[1]: Leaving directory '/mnt/c/FYP/adcirc_v55.01/thirdparty/swan'
make: *** [Makefile:169: punswan] Error 2

 

0 Kudos
Arjen_Markus
Honored Contributor I
3,008 Views

This means something is missing in your link statement. As the name of the missing routines starts with "boundaries_mp_", I deduce that you have a module "boundaries" and the compiler is happy about it, but the linker is not fed the object file that contains the compiled implementation of the routines in that module. Add the name of the object file to the link statement.

0 Kudos
Reply