New URL for NEMO forge!

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#794 (Compilation fails for mod_mpi_buffer_client (XMLIO_SERVER)) – NEMO

Opened 13 years ago

Closed 11 years ago

#794 closed Bug (fixed)

Compilation fails for mod_mpi_buffer_client (XMLIO_SERVER)

Reported by: ufla Owned by: nemo
Priority: low Milestone:
Component: OCE Version: v3.3
Severity: Keywords:


Not sure if this is the best place to file XMLIO_SERVER bugs, however:

The file mod_mpi_buffer_client.F90 (EXTERNAL/XMLIO_SERVER/src/IOSERVER) fails to compile because it's USEing a module 'mpi', which does not exist if one is not using a F90 MPI implementation. I suspect that the module sought is 'mpi_mod'. At least, things compile and seem to work with that change.

Commit History (0)

(No commits)

Change History (3)

comment:1 Changed 13 years ago by ufla

This bug still prevents me from compiling (without modifying the sources). Could somebody confirm this? Here's a diff:

Index: EXTERNAL/XMLIO_SERVER/src/IOSERVER/mod_mpi_buffer_client.F90
--- EXTERNAL/XMLIO_SERVER/src/IOSERVER/mod_mpi_buffer_client.F90 (revision 343)
+++ EXTERNAL/XMLIO_SERVER/src/IOSERVER/mod_mpi_buffer_client.F90 (revision 344)
@@ -1,7 +1,7 @@

MODULE mod_mpi_buffer_client

USE mod_mpi_buffer_parameters

#if defined key_mpp_mpi

  • USE mpi, ONLY : status_size=>MPI_STATUS_SIZE

+ USE mpi_mod, ONLY : status_size=>MPI_STATUS_SIZE


status_size = 1 #endif

comment:2 Changed 13 years ago by acc

I'm not having any trouble with this code straight from the trunk. MPI_STATUS_SIZE is a mpi parameter that will be defined in the mpi.mod that should come with the system installation of MPI. 

mpi_mod.f90 uses an old-fashioned, 'INCLUDE' statement to include mpif.h (which should also come with the system). mpif.h contains the same settings as mpi.mod but is F77-style. 

It would seem that either your system installation hasn't built mpi.mod or the compiler isn't looking in the correct place. The majority of systems with full f90 support shouldn't require this code change but the rest of the model still uses "INCLUDE 'mpif.h'" (i.e. lib_mpp.F90, mpp_map.F90 and obs_mpp.F90) so there is a argument for making the change on the grounds of consistency.

comment:3 Changed 11 years ago by clevy

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.