LLNL / serac

Serac is a high order nonlinear thermomechanical simulation code
BSD 3-Clause "New" or "Revised" License
182 stars 33 forks source link

Investigate hdf5+mpi #1088

Open chapman39 opened 7 months ago

chapman39 commented 7 months ago

PETSc cannot build with +hdf5 due to requiring it built with mpi. Serac set hdf5~mpi a long time ago, so it may not be an issue anymore. This would in turn allow LiDO to build petsc+hdf5 as well.

- depends_on("hdf5@1.8.21:+hl~mpi")
+ depends_on("hdf5@1.8.21:+hl+mpi")

https://github.com/LLNL/serac/blob/develop/scripts/spack/packages/serac/package.py#L114-L117

https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/petsc/package.py#L189

chapman39 commented 6 months ago

On trying this, petsc failed to install. This is from petsc's configure.log:

Executing: /usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-10.3.1/bin/mpicc  -o /var/tmp/meemee/petsc-osuy33xd/config.libraries/conftest    -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -Wno-lto-type-mismatch -fstack-protector -fvisibility=hidden -g -O /var/tmp/meemee/petsc-osuy33xd/config.libraries/conftest.o  -Wl,-rpath,/usr/WS2/meemee/serac/serac_libs1/gcc-10.3.1/hdf5-1.8.23-l22goey6xzrf5w54lt7i66ch4rqkof6j/lib -L/usr/WS2/meemee/serac/serac_libs1/gcc-10.3.1/hdf5-1.8.23-l22goey6xzrf5w54lt7i66ch4rqkof6j/lib -lhdf5_hl -Wl,-rpath,/usr/WS2/meemee/serac/serac_libs1/gcc-10.3.1/hdf5-1.8.23-l22goey6xzrf5w54lt7i66ch4rqkof6j/lib -L/usr/WS2/meemee/serac/serac_libs1/gcc-10.3.1/hdf5-1.8.23-l22goey6xzrf5w54lt7i66ch4rqkof6j/lib -lhdf5 -lm -lquadmath -ldl 
stdout:
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: /usr/WS2/meemee/serac/serac_libs1/gcc-10.3.1/hdf5-1.8.23-l22goey6xzrf5w54lt7i66ch4rqkof6j/lib/libhdf5.a(H5Zdeflate.c.o): undefined reference to symbol 'inflateEnd'
/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: /usr/WS2/meemee/serac/serac_libs1/gcc-10.3.1/zlib-ng-2.1.5-shzp76r665h2g3lnqspfmluapd7jxtrt/lib/libz.so.1: error adding symbols: DSO missing from command line