Compilation 编译并行netCDF时出错
我正在尝试编译并安装带有HDF5并行构建的netCDF 首先我安装了最新的zlib,然后我安装了串行HDF5和并行HDF5,以便 /scratch/mycomputername/packages/。。。包含HDF5和zlib lib、include、bin文件夹 /scratch/mycomputername/packages\u并行。。。包含并行HDF5和zlib库、include和bin文件夹 ***ZLIB安装: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
./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