Hi all,
I wanted to follow up on this thread, as Reverie is currently unable to reply directly. We’re friends and have managed to resolve the issue privately, but I thought it would be helpful to share the solution here for anyone encountering a similar problem.
The main issue was caused by the following line in the configuration file under deal.II-toolchain/platforms/contributed/cray.platform:
-D MPI_CXX_LIBRARIES="${MPICH_DIR}/lib/libmpichcxx.so;${MPICH_DIR}/lib/libmpich.so"
In the newer versions of MPICH, libmpichcxx.so has been deprecated and removed. The solution was to simply update the line to exclude libmpichcxx.so:
-D MPI_CXX_LIBRARIES="${MPICH_DIR}/lib/libmpich.so"
However, to avoid relying on outdated library names altogether, a better approach is to use the Cray compiler wrappers (cc, CC, and ftn) to automatically detect MPI dependencies. This adjusted configuration worked perfectly in our case:
-D CMAKE_C_COMPILER=${CC:-cc} \
-D CMAKE_CXX_COMPILER=${CXX:-CC} \
-D CMAKE_Fortran_COMPILER=${FC:-ftn} \
-D MPI_C_COMPILER=${CC:-cc} \
-D MPI_CXX_COMPILER=${CXX:-CC} \
-D MPI_Fortran_COMPILER=${FC:-ftn}
By leveraging the Cray compiler wrappers, you ensure compatibility with the Cray Programming Environment while avoiding potential issues with hardcoded paths or deprecated libraries.
I hope this helps others facing similar challenges.
On a related note, Reverie wanted to ask if there’s a way to understand why they were muted and whether someone could kindly assist in lifting the restriction. We’d greatly appreciate any guidance on this.
Best,
Ninghui Tian