NCAR / ParallelIO

A high-level Parallel I/O Library for structured grid applications
Apache License 2.0
135 stars 53 forks source link

Problems configuring PIO 2.5.10 #1956

Closed arcarneiro closed 1 year ago

arcarneiro commented 1 year ago

Hi

I'm unable to configure PIO.

First, I tried using Netcdf 4.9.1, but got the following message during the "configure" procedure:

checking whether netCDF provides netCDF/HDF5... yes
checking whether netCDF provides parallel I/O for netCDF/HDF5... yes
checking whether netCDF provides szip write capability... no
checking whether netCDF provides parallel filter support... no
checking whether this is netcdf-c-4.7.2... no
checking whether netcdf-c supports version 2 of dispatch table for netcdf integration... no
configure: error: NetCDF integration cannot be used with this version of netcdf-c, please upgrade your netCDF version.

Following the "suggestion" of the output, I tried to configure PIO with Netcdf version 4.7.2, but now I'm receiving the following message:

...
checking for MPI_Init... yes
checking for nc_create in -lnetcdf... yes
checking netcdf.h usability... yes
checking netcdf.h presence... yes
checking for netcdf.h... yes
checking netcdf_meta.h usability... yes
checking netcdf_meta.h presence... yes
checking for netcdf_meta.h... yes
checking for ncmpi_create in -lpnetcdf... yes
checking whether netCDF provides netCDF/HDF5... yes
checking whether netCDF provides parallel I/O for netCDF/HDF5... yes
checking whether netCDF provides szip write capability... no
checking whether netCDF provides parallel filter support... no
checking whether this is netcdf-c-4.7.2... yes
configure: error: PIO cannot build with netcdf-c-4.7.2, please upgrade your netCDF version.

The last checks at the config.log file are:

...
configure:16358: checking whether netCDF provides parallel filter support
configure:16360: result: no
configure:16384: mpicc -c -g -O2 -I/opt/netcdf/4.7/include -I/opt/gcc/9.3/include -I/opt/xpmem/2.6.5/include -I/opt/ucx/1.13/include -I/opt/openmpi/4.1.4_gnu/include -I/opt/hdf5/1.8/include -I/opt/pnetcdf/1.12/include conftest.c >&5
configure:16384: $? = 0
configure:16390: checking whether this is netcdf-c-4.7.2
configure:16392: result: yes
configure:16395: error: PIO cannot build with netcdf-c-4.7.2, please upgrade your netCDF version.
...

Could you provide any hint as to what might be the problem?

NetCDF C 4.7.2 was compiled with parallel I/O through HDF5 1.8 and also supports PNetCDF, with version 1.12.

MPI: OpenMPI 4.1.4

CC=mpicc CXX=mpicxx FC=mpifort ./configure --prefix=/opt/hdf5/1.8 --enable-fortran --enable-production --enable-parallel --enable-instrument --enable-shared --enable-static --enable-fortran2003 --enable-trace --enable-instrument

./configure --prefix=/opt/1.12 MPICC=mpicc MPICXX=mpicxx MPIF77=mpifort MPIF90=mpifort --enable-shared --enable-static

CC=mpicc LIBS="-lstdc++" ./configure --prefix=/opt/netcdf/4.7 --enable-hdf5 --enable-parallel-tests --enable-shared --enable-static --enable-mmap --enable-netcdf4 --enable-pnetcdf --enable-cdf5

CC=mpicc FC=mpifort LIBS="-lstdc++" ./configure --prefix=/opt/pio/2.5.10 --enable-fortran --enable-netcdf-integration

Every environment variables are set with the environment modules (e.g. module load hdf/version pnetcdf/version netcdf/version).

Thank you for your attention.

Best regards.

jedwards4b commented 1 year ago

PIO 2.5.10 works well with netcdf-c 4.9.0, netcdf 4.9.1 was released last week - I am currently working on a compatible pio update.  

We test for netcdf-c 4.7.2 because it is a version that definitely should not be used, I'm sorry if that isn't clear from the error message.

You should be able to use netcdf-c 4.9.1 with pio 2.5.10 if you turn off the netcdf-integration option of pio.

arcarneiro commented 1 year ago

Hi.

Thank you for the quick reply. By removing the "--enable-netcdf-integration" I was able to successfully configure & compile & test PIO 2.5.10 with NetCDF 4.9.1.

Best regards.