Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

MPAS-Tools Make Error

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

yuyangyang0709

New member
I want to build the grid_rotate utility with the make command, but there are some errors about the compilation environment.
The error messages are as follow:

[lulv@ln02 grid_rotate]$ make
gfortran grid_rotate.f90 -o grid_rotate -m64 -O2 -ffree-line-length-none -ffree-form -Wall -I/home/lulv/yuyy/software2/include -L/home/lulv/yuyy/software2/lib -lnetcdff -L/home/lulv/yuyy/software2/lib -lnetcdf -lcurl -lm -lnetcdf -lhdf5_hl -lhdf5 -lz -ldl
/home/lulv/yuyy/software2/lib/libhdf5.a(H5.o): In function `H5_init_library':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:121: undefined reference to `MPI_Initialized'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:122: undefined reference to `MPI_Finalized'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:141: undefined reference to `MPI_Comm_create_keyval'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:146: undefined reference to `MPI_Comm_set_attr'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:149: undefined reference to `MPI_Comm_free_keyval'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:150: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:144: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5.c:147: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5C.o): In function `H5C_load_entry':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5C.c:6605: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5C.o): In function `H5C_protect':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5C.c:2297: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5C.o): In function `H5C_load_entry':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5C.c:6651: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5C.c:6652: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5C.o): In function `H5C_protect':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5C.c:2298: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5C.o): In function `H5C_load_entry':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5C.c:6606: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5Cimage.o): In function `H5C__read_cache_image':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1071: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1076: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1083: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1088: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1071: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1083: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1088: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1076: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5Cimage.o): In function `H5C__prep_image_for_file_close':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1448: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1454: undefined reference to `MPI_Bcast'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1449: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Cimage.c:1455: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5CX.o): In function `H5CX_set_apl':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5CX.c:853: undefined reference to `MPI_Barrier'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5CX.o): In function `H5CX_set_loc':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5CX.c:912: undefined reference to `MPI_Barrier'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5Dchunk.o): In function `H5D__chunk_collective_fill':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4740: undefined reference to `MPI_Type_free'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4742: undefined reference to `MPI_Type_free'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4743: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4741: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4698: undefined reference to `MPI_Type_create_hindexed'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4700: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4701: undefined reference to `MPI_Type_commit'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4702: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4704: undefined reference to `MPI_Type_create_hvector'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4706: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4707: undefined reference to `MPI_Type_commit'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4708: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4730: undefined reference to `MPI_Barrier'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dchunk.c:4731: undefined reference to `MPI_Error_string'
/home/lulv/yuyy/software2/lib/libhdf5.a(H5Dcontig.o): In function `H5D__contig_fill':
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dcontig.c:318: undefined reference to `MPI_Barrier'
/home/lulv/yuyy/installation/mpas_source/hdf5-1.10.5/src/H5Dcontig.c:319: undefined reference to `MPI_Error_string

My MPAS environment is set according to https://www2.mmm.ucar.edu/people/duda/files/mpas/sources/
Is there anything missing or wrong with my environment?
 
The error messages show that the HDF5 library references MPI symbols (which is expected if the library was built with support for parallel I/O), in which case it will probably be necessary to link to the MPI libraries when compiling any programs that use HDF5 directly or indirectly. The simplest solution would be to just change 'gfortran' to 'mpif90' in the Makefile for the grid_rotate tool.
 
Top