Compilation 编译并行netCDF时出错

Compilation 编译并行netCDF时出错,compilation,compiler-errors,hdf5,netcdf,Compilation,Compiler Errors,Hdf5,Netcdf,我正在尝试编译并安装带有HDF5并行构建的netCDF 首先我安装了最新的zlib,然后我安装了串行HDF5和并行HDF5,以便 /scratch/mycomputername/packages/。。。包含HDF5和zlib lib、include、bin文件夹 /scratch/mycomputername/packages\u并行。。。包含并行HDF5和zlib库、include和bin文件夹 ***ZLIB安装: ./configure --prefix=/scratch/mycomput

我正在尝试编译并安装带有HDF5并行构建的netCDF

首先我安装了最新的zlib,然后我安装了串行HDF5和并行HDF5,以便

/scratch/mycomputername/packages/。。。包含HDF5和zlib lib、include、bin文件夹

/scratch/mycomputername/packages\u并行。。。包含并行HDF5和zlib库、include和bin文件夹

***ZLIB安装:

./configure --prefix=/scratch/mycomputername/packages
make
make test
make install prefix=/scratch/mycomputername/packages
&

***HDF5安装:

./configure --prefix=/scratch/mycomputername/packages --enable-fortran --with-zlib=/scratch/mycomputername/packages/include,/scratch/mycomputername/packages/lib
make
make check
make install prefix=/scratch/dione/packages
&


***然后,安装我使用的串行netCDF

./configure --prefix=/scratch/mycomputername/packages CPPFLAGS=-I/scratch/mycomputername/packages/include LDFLAGS=-L/scratch/computername/packages/lib
make
make check
make install prefix=/scratch/mycomputername/packages
这是成功的

***然而,当我尝试对并行netCDF执行同样的操作时,我遇到了错误。 我曾经

我得到了一个错误:

正在检查hdf5.h可用性。。。不
正在检查hdf5.h是否存在。。。不
正在检查hdf5.h。。。不
配置:错误:使用HDF5编译测试失败。找不到hdf5.h,或者出于其他原因应检查config.log

我也试过了

./configure--prefix=/scratch/computername/packages\u parallel--with-hdf5=/scratch/mycomputername/packages\u parallel/--with-zlib=/scratch/mycomputername/packages\u parallel/lib
但是我得到上面引用的错误消息


有人知道为什么并行版本在查找HDF5库时会遇到问题吗?

请确保为编译和安装的每个软件包向.profile或.bashrc文件添加必要的路径。例如,您需要在ZLIB安装后添加此选项(假定安装目录为/usr/local):

对于HDF5,我始终使用以下各项:

export HDF5_LIB_DIR="/usr/local/lib"
if [ -z "${LD_LIBRARY_PATH}" ]
then
LD_LIBRARY_PATH="/usr/local/lib"; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH
fi
if [ -z "${LIBDIR}" ]
then
LIBDIR="/usr/local/lib"; export LIBDIR
else
LIBDIR="/usr/local/lib:${LIBDIR}"; export LIBDIR
fi
export INCLUDE=/usr/local/lib:$Include
export PATH=/usr/local/bin:$PATH
export HDF5_LIB_DIR=/usr/local/lib
export HDF5DIR=/usr/local
export HDF5_DIR=/usr/local
export CPPFLAGS="-I$HDF5_DIR/include -I/usr/local/include"
export LDFLAGS="-L$HDF5_DIR/lib -L/usr/local/lib"
最后,在安装NetCDF后,我使用:

export NETCDFHOME=/usr/local
export NETCDF_PREFIX=/usr/local
export NETCDF_LIB=/usr/local/lib
export NETCDF4_ROOT=/usr/local
export NETCDF4_DIR=/usr/local
export NETCDF_INC=/usr/local/include
export PATH=/usr/local/bin:$PATH

希望这有帮助。干杯,Trond

确保为编译和安装的每个软件包向.profile或.bashrc文件添加必要的路径。例如,您需要在ZLIB安装后添加此选项(假定安装目录为/usr/local):

对于HDF5,我始终使用以下各项:

export HDF5_LIB_DIR="/usr/local/lib"
if [ -z "${LD_LIBRARY_PATH}" ]
then
LD_LIBRARY_PATH="/usr/local/lib"; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH
fi
if [ -z "${LIBDIR}" ]
then
LIBDIR="/usr/local/lib"; export LIBDIR
else
LIBDIR="/usr/local/lib:${LIBDIR}"; export LIBDIR
fi
export INCLUDE=/usr/local/lib:$Include
export PATH=/usr/local/bin:$PATH
export HDF5_LIB_DIR=/usr/local/lib
export HDF5DIR=/usr/local
export HDF5_DIR=/usr/local
export CPPFLAGS="-I$HDF5_DIR/include -I/usr/local/include"
export LDFLAGS="-L$HDF5_DIR/lib -L/usr/local/lib"
最后,在安装NetCDF后,我使用:

export NETCDFHOME=/usr/local
export NETCDF_PREFIX=/usr/local
export NETCDF_LIB=/usr/local/lib
export NETCDF4_ROOT=/usr/local
export NETCDF4_DIR=/usr/local
export NETCDF_INC=/usr/local/include
export PATH=/usr/local/bin:$PATH

希望这有帮助。干杯,Trond

确保为编译和安装的每个软件包向.profile或.bashrc文件添加必要的路径。例如,您需要在ZLIB安装后添加此选项(假定安装目录为/usr/local):

对于HDF5,我始终使用以下各项:

export HDF5_LIB_DIR="/usr/local/lib"
if [ -z "${LD_LIBRARY_PATH}" ]
then
LD_LIBRARY_PATH="/usr/local/lib"; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH
fi
if [ -z "${LIBDIR}" ]
then
LIBDIR="/usr/local/lib"; export LIBDIR
else
LIBDIR="/usr/local/lib:${LIBDIR}"; export LIBDIR
fi
export INCLUDE=/usr/local/lib:$Include
export PATH=/usr/local/bin:$PATH
export HDF5_LIB_DIR=/usr/local/lib
export HDF5DIR=/usr/local
export HDF5_DIR=/usr/local
export CPPFLAGS="-I$HDF5_DIR/include -I/usr/local/include"
export LDFLAGS="-L$HDF5_DIR/lib -L/usr/local/lib"
最后,在安装NetCDF后,我使用:

export NETCDFHOME=/usr/local
export NETCDF_PREFIX=/usr/local
export NETCDF_LIB=/usr/local/lib
export NETCDF4_ROOT=/usr/local
export NETCDF4_DIR=/usr/local
export NETCDF_INC=/usr/local/include
export PATH=/usr/local/bin:$PATH

希望这有帮助。干杯,Trond

确保为编译和安装的每个软件包向.profile或.bashrc文件添加必要的路径。例如,您需要在ZLIB安装后添加此选项(假定安装目录为/usr/local):

对于HDF5,我始终使用以下各项:

export HDF5_LIB_DIR="/usr/local/lib"
if [ -z "${LD_LIBRARY_PATH}" ]
then
LD_LIBRARY_PATH="/usr/local/lib"; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH
fi
if [ -z "${LIBDIR}" ]
then
LIBDIR="/usr/local/lib"; export LIBDIR
else
LIBDIR="/usr/local/lib:${LIBDIR}"; export LIBDIR
fi
export INCLUDE=/usr/local/lib:$Include
export PATH=/usr/local/bin:$PATH
export HDF5_LIB_DIR=/usr/local/lib
export HDF5DIR=/usr/local
export HDF5_DIR=/usr/local
export CPPFLAGS="-I$HDF5_DIR/include -I/usr/local/include"
export LDFLAGS="-L$HDF5_DIR/lib -L/usr/local/lib"
最后,在安装NetCDF后,我使用:

export NETCDFHOME=/usr/local
export NETCDF_PREFIX=/usr/local
export NETCDF_LIB=/usr/local/lib
export NETCDF4_ROOT=/usr/local
export NETCDF4_DIR=/usr/local
export NETCDF_INC=/usr/local/include
export PATH=/usr/local/bin:$PATH

希望这有帮助。Cheers,Trond

从netcdf自述文件中,建议同时指定包含路径(CPPFLAGS)和链接器标志(LDFLAGS、库路径和附加库)

当我包含pnetcdf,并将hdf5 include目录的路径添加到cppfaglass,将hdf5 lib目录的路径添加到mpi库,并将-lmpi添加到LDFLAGS时,我遇到了与您相同的问题

以下是一个命令中的所有内容:

CPPFLAGS="-I/usr/local/pnetcdf/include -I/usr/local/hdf5/include -I/usr/local/mpi/include" LDFLAGS="-L/usr/local/hdf5/lib -L/usr/local/pnetcdf/lib -L/usr/local/mpi/lib -lmpi" ./configure --prefix=/usr/local/netcdf --enable-netcdf4 --enable-pnetcdf

在netcdf自述文件中,建议同时指定包含路径(CPPFLAGS)和链接器标志(LDFLAGS、库路径和其他库)

当我包含pnetcdf,并将hdf5 include目录的路径添加到cppfaglass,将hdf5 lib目录的路径添加到mpi库,并将-lmpi添加到LDFLAGS时,我遇到了与您相同的问题

以下是一个命令中的所有内容:

CPPFLAGS="-I/usr/local/pnetcdf/include -I/usr/local/hdf5/include -I/usr/local/mpi/include" LDFLAGS="-L/usr/local/hdf5/lib -L/usr/local/pnetcdf/lib -L/usr/local/mpi/lib -lmpi" ./configure --prefix=/usr/local/netcdf --enable-netcdf4 --enable-pnetcdf

在netcdf自述文件中,建议同时指定包含路径(CPPFLAGS)和链接器标志(LDFLAGS、库路径和其他库)

当我包含pnetcdf,并将hdf5 include目录的路径添加到cppfaglass,将hdf5 lib目录的路径添加到mpi库,并将-lmpi添加到LDFLAGS时,我遇到了与您相同的问题

以下是一个命令中的所有内容:

CPPFLAGS="-I/usr/local/pnetcdf/include -I/usr/local/hdf5/include -I/usr/local/mpi/include" LDFLAGS="-L/usr/local/hdf5/lib -L/usr/local/pnetcdf/lib -L/usr/local/mpi/lib -lmpi" ./configure --prefix=/usr/local/netcdf --enable-netcdf4 --enable-pnetcdf

在netcdf自述文件中,建议同时指定包含路径(CPPFLAGS)和链接器标志(LDFLAGS、库路径和其他库)

当我包含pnetcdf,并将hdf5 include目录的路径添加到cppfaglass,将hdf5 lib目录的路径添加到mpi库,并将-lmpi添加到LDFLAGS时,我遇到了与您相同的问题

以下是一个命令中的所有内容:

CPPFLAGS="-I/usr/local/pnetcdf/include -I/usr/local/hdf5/include -I/usr/local/mpi/include" LDFLAGS="-L/usr/local/hdf5/lib -L/usr/local/pnetcdf/lib -L/usr/local/mpi/lib -lmpi" ./configure --prefix=/usr/local/netcdf --enable-netcdf4 --enable-pnetcdf