Opened 10 years ago

Closed 8 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: release-3.3
Severity: Keywords:
Cc:

Description

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 9 years ago by ufla

  • Version changed from nemo_v3_3_beta to nemo_v3_3_1

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

#else

INTEGER, PARAMETER
status_size = 1 #endif

comment:2 Changed 9 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 8 years ago by clevy

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