Welcome, Guest
Username: Password: Remember me

TOPIC: Error about MPI occurred when compiling v7p2 on Windows 10

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 8 months ago #27413

  • Yunhao Song
  • Yunhao Song's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 119
  • Thank you received: 9
Hello everyone,

I use to run my simulations with version V7p1r1 but now I need to use the new modules in V7p2, so I tried to compile the latest version with Intel Fortran compiler using the same configuration file in V7p1r1 (just made some slight changes, such as substituting 'v7p1' with 'v7p2'). But errors occurred as shown below:
C:\opentelemac-mascaret\v7p2\sources\api\api_interface.f(87): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value. [IERR]
& INPFORMAT,IERR)
^
- completed: ...\v7p2\sources\api\api_interface.f
- completed: ...\v7p2\sources\api\api_run_cpl.f
C:\opentelemac-mascaret\v7p2\sources\api\homere_api.F(9): error #5102: Cannot open include file 'mpif.h'
include 'mpif.h'
^
C:\opentelemac-mascaret\v7p2\sources\api\homere_api.F(85): error #6404: This name does not have a type, and must have an explicit type. [MPI_COMM_WORLD]
CALL MPI_COMM_RANK(MPI_COMM_WORLD,RANK,IERR)
^
compilation aborted for C:\opentelemac-mascaret\v7p2\sources\api\homere_api.F (code 1)


Hummm ... I could not complete my work.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compileTELEMAC::createObjFiles:
+> failed: ifort.exe /c /O2 /Qzero /QxHost /iface:cref /iface:nomixed_str_len_arg /nologo /fpp /names:uppercase /convert:big_endian /DHAVE_MPI /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\special /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\damocles /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\hermes /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\parallel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\bief /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\nestor /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\ad /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\tomawac /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\sisyphe /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\stbtel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\waqtel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\gretel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\telemac2d /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\partel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\api C:\opentelemac-mascaret\v7p2\sources\api\homere_api.F
... The following command failed for the reason above (or below)
ifort.exe /c /O2 /Qzero /QxHost /iface:cref /iface:nomixed_str_len_arg /nologo /fpp /names:uppercase /convert:big_endian /DHAVE_MPI /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\special /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\damocles /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\hermes /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\parallel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\bief /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\nestor /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\ad /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\tomawac /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\sisyphe /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\stbtel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\waqtel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\gretel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\telemac2d /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\utils\partel /include:C:\opentelemac-mascaret\v7p2\builds\wintelmpi\lib\api C:\opentelemac-mascaret\v7p2\sources\api\homere_api.F:

I've looked through the forum but find little information about this error, also I've checked in the directory (C:\Program Files (x86)\Intel\MPI\4.1.3.045\em64t\include) and the 'mpif.h' file did exist. I have no idea on how to solve the problem. Attached you can find my configuration file, really hope someone could help me about this. Thanks in advance!

Regards,

Yunhao
Attachments:
The administrator has disabled public write access.

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 8 months ago #27414

  • c.coulet
  • c.coulet's Avatar
  • NOW ONLINE
  • Moderator
  • Posts: 3772
  • Thank you received: 1044
Hi
This topic as already been answered.
Some changes have been done between v7p1 and v7p2 in the config file and you should change the lines incs_xxx and libs_xxx by incs_all and libs_all because include files and library files are used by some other modules.

Regards
Christophe
The administrator has disabled public write access.

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 8 months ago #27421

  • Yunhao Song
  • Yunhao Song's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 119
  • Thank you received: 9
Hi C.Coulet,

Thanks for your reply, after changing the config file an error occurred during compilation:
Compiling the program HOMERE_MASCARET and dependents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xilib: executing 'lib'
- completed: ...\v7p2\builds\wintelmpi\lib\mascaret\homere_mascaret.lib compileTELEMAC::main:
+> creating executable: homere_mascaret:
|createExeFiles: Object missing:
| adstack.obj

E:\Program Files (x86)\Intel\Composer XE 2013>

I tried some methods to solve this but none of them worked. Since I hardly use mascaret then I tried to compile without mascaret and it worked. I tried the Telemac3d example heat_exchange and it worked well with both scalar and parallel mode.

But when running my own case (I have successfully run the same case in version V7p1 in both scalar and parallel mode), error showed up as listed below:
... checking the executable
xilink: executing 'link'
LINK : warning LNK4001: no object files specified; libraries used
LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
LINK : error LNK2001: unresolved external symbol _mainCRTStartup
telemac3d.exe : fatal error LNK1120: 1 unresolved externals
runCAS: could not compile: telemac3d.exe
|processExecutable: could not link your executable (runcode=1120).
|
|... The following command failed for the reason above (or below)
|xilink.exe /nologo /subsystem:console /stack:536870912 /out:telemac3d.exe C:\opentelemac-mascaret\v7p2\builds\wintels\lib\telemac3d\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\telemac2d\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\tomawac\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\sisyphe\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\utils\ad\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\nestor\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\waqtel\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\stbtel\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\utils\bief\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\utils\damocles\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\utils\hermes\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\utils\parallel\homere_telemac3d.lib C:\opentelemac-mascaret\v7p2\builds\wintels\lib\utils\special\homere_telemac3d.lib
|

C:\opentelemac-mascaret\v7p2\examples\telemac3d\TGR>

Could you help me about this? The compiler I'm using is Intel Parallel Studio XE 2013 and I'm trying to upgrade it to version 17 to see if it would make a difference.

Best regards,

Yunhao
Attachments:
The administrator has disabled public write access.

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 8 months ago #27423

  • c.coulet
  • c.coulet's Avatar
  • NOW ONLINE
  • Moderator
  • Posts: 3772
  • Thank you received: 1044
Hi
I think this could be easier if you start with an official config file of the v7p2 and tune it to your own configuration rather than trying to start from your v7p1 config file and trying to adapt it to v7p2...

Mascaret needs a C compiler ...
In the configuration file you could find a kink to gcc. If you don't have it the compilation couldn't work. But you could changi this line to use the intel c compiler which is icc or something similar...

For telemac3d if the test case works this means your installation is OK but in your own case you probably use a fortran file you probably have to update...

Regards
Christophe
The administrator has disabled public write access.
The following user(s) said Thank You: Yunhao Song

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 8 months ago #27436

  • Yunhao Song
  • Yunhao Song's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 119
  • Thank you received: 9
Hi C.Coulet,

Thanks for your patient reply, I updated Intel compiler to 17 and tried as you said to create my config file according to the official config files but still got the same errors during every trial of compilation:
- completed: ...\v7p2\builds\wintelmpi\lib\utils\partel\homere_partel.lib
libmetis.lib(memory.obj) : error LNK2019: unresolved external symbol __iob_func referenced in function gk_malloc
libmetis.lib(error.obj) : error LNK2001: unresolved external symbol __iob_func
libmetis.lib(error.obj) : error LNK2019: unresolved external symbol vfprintf referenced in function errexit
C:\opentelemac-mascaret\v7p2\builds\wintelmpi\bin\partel.exe : fatal error LNK1120: 2 unresolved externals

Do you have any idea about this? It would be greatly appreciated if you could provide some instructions on how to create the config file for a new version.

Thanks in advance.

Regards
The administrator has disabled public write access.

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 7 months ago #27595

  • c.coulet
  • c.coulet's Avatar
  • NOW ONLINE
  • Moderator
  • Posts: 3772
  • Thank you received: 1044
Hi
Did you recompile the metis library with the Intel compiler?
As some error message refers to libmetis I think you should look in this way

regards
Christophe
The administrator has disabled public write access.

Error about MPI occurred when compiling v7p2 on Windows 10 7 years 7 months ago #27611

  • Yunhao Song
  • Yunhao Song's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 119
  • Thank you received: 9
Hi C.Coulet,

Thanks for your reply, another Telemac user also mentioned about compiling the metis library but I chose to avoid this problem by using gfortran compiler and it worked, I would look into it later if needed.

Best regards,
Yunhao
The administrator has disabled public write access.
Moderators: borisb

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.