In pio.h, spio_hash.h is explicitly included:
#include "spio_hash.h" /* Hash table implementation for ADIOS read */
However, this file is not installed together with pio.h under the include directory.
Steps to reproduce this issue on ANL Ubuntu 20 workstations:
module load cmake/3.20.5-zyz2eld
module load gcc/11.1.0-qsjmpcg
export PATH=/nfs/gce/projects/climate/software/linux-ubuntu20.04-x86_64/mpich/4.0/gcc-11.1.0/bin:$PATH
git clone https://github.com/E3SM-Project/scorpio.git
cd scorpio
mkdir build
cd build
ADIOS2_DIR=/nfs/gce/projects/climate/software/linux-ubuntu20.04-x86_64/adios2/2.9.1/mpich-4.0/gcc-11.1.0 \
CC=mpicc CXX=mpicxx FC=mpifort cmake -Wno-dev \
-DCMAKE_INSTALL_PREFIX=$HOME/spio \
-DWITH_ADIOS2=ON \
-DWITH_NETCDF=OFF \
-DPnetCDF_PATH=/nfs/gce/projects/climate/software/linux-ubuntu20.04-x86_64/pnetcdf/1.12.2/mpich-4.0/gcc-11.1.0 \
-DPIO_USE_MALLOC=ON \
..
make
make install
ls $HOME/spio/include/*.h
This issue was initially mentioned in #554 by a user of ESMF and SCORPIO:
I tried to compile scorpio with esmf. I included scorpio include path and adios2 include path. But I still got this error:
In file included from /glade/.../esmf/src/Infrastructure/IO/src/ESMCI_IO_Handler.C:36:
In file included from /glade/.../esmf/src/Infrastructure/IO/src/../include/ESMCI_PIO_Handler.h:45:
/glade/.../scorpio/install/include/pio.h:71:10: fatal error: In file included from /glade/.../esmf/src/Infrastructure/IO/src/ESMCI_PIO_Handler.C:'spio_hash.h' file not found27:
In pio.h, spio_hash.h is explicitly included:
#include "spio_hash.h" /* Hash table implementation for ADIOS read */
However, this file is not installed together with pio.h under the include directory.
Steps to reproduce this issue on ANL Ubuntu 20 workstations:
This issue was initially mentioned in #554 by a user of ESMF and SCORPIO: