我在 ubuntu 20.04 中编译了hdf5
和,并在和中链接了它们。但是当我运行的时候,出现如下错误h5part
makefile
\etc\profile
mpirun -np 4 lapine lapine.inp
proxy:0:0@ubuntu] HYDU_create_process (utils/launch/launch.c:74): execvp error on file lapine (No such file or directory)
然后我输入了ldd lapine
,消息是
linux-vdso.so.1 (0x00007fff62411000)
libhdf5.so.8 => not found
libH5Part.so.0 => not found
libmpi.so.12 => /opt/mpich3/lib/libmpi.so.12 (0x00007f55ab5b9000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f55ab3d7000)
libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007f55ab288000)
libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f55ab26d000)
libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007f55ab079000)
libpthread.so.0 => /usr/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f55ab056000)
librt.so.1 => /usr/lib/x86_64-linux-gnu/librt.so.1 (0x00007f55ab04c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f55aba69000)
看起来hdf5
和h5part
链接不正确。检查了好几次后,我仍然无法修复它。有人能帮我吗?谢谢。
hdf5
配置参数
./configure --prefix=/opt/hdf5 --enable-parallel --with-pic --enable-linux-lfs --enable-shared --enable-build-mode=production --disable-sharedlib-rpath --enable-static --with-szlib=/opt/szip --with-zlib=/opt/zlib CC=/opt/mpich3/bin/mpicc CXX=/opt/mpich3/bin/mpicxx
h5part
配置参数
./configure --prefix=/opt/H5part --enable-parallel --with-pic --enable-shared --enable-build-mode=production --disable-sharedlib-rpath --enable-static --with-hdf5=/opt/hdf5 CC=/opt/mpich3/bin/mpicc CXX=/opt/mpich3/bin/mpicxx
\etc\profile
:
export PATH=/opt/mpich3/bin:$PATH
export PATH=/opt/hdf5/bin:$PATH
export LD_LIBRARY_PATH=/opt/hdf5/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/H5part/lib
\lapine\src\makefile
:
CXX = /opt/mpich3/bin/mpicxx
....
MPIHOME=/opt/mpich3
HDF5HOME= /opt/hdf5
H5PARTHOME= /opt/H5part
BLITZHOME= /usr/local/include/blitz
SZIPHOME= /opt/szip
ZLIBHOME= /opt/zlib
INCS = -I$(HDF5HOME)/include -I$(BLITZHOME)/include
-I$(SZIPHOME)/include -I$(ZLIBHOME)/include -I$(H5PARTHOME)/include
LIBS = -L$(BLITZHOME)/lib -lblitz -L$(SZIPHOME)/lib -lsz
-L$(ZLIBHOME)/lib -lz -L$(HDF5HOME)/lib -lhdf5 -lz -lsz
-L$(H5PARTHOME)/lib -lH5Part -lz -ldl
OBJECTS = main.o readfile.o oerror.o sobol.o parameter.o network.o \
field.o domain.o fieldsolver.o boundaryEB.o boundaryP.o \
六便士