Errors when `make`
src/mpi/coll/barrier/barrier_intra_k_dissemination.c:127:9: note: referencing argument 2 of type ‘MPIR_Request *[0]’
In file included from ./src/include/mpiimpl.h:212,
from src/mpi/coll/barrier/barrier_intra_k_dissemination.c:6:
./src/include/mpir_coll.h:50:5: note: in a call to function ‘MPIC_Waitall’
50 | int MPIC_Waitall(int numreq, MPIR_Request * requests[], MPI_Status * statuses,
| ^~~~~~~~~~~~
GEN lib/libmpi.la
/usr/bin/ld: cannot find -lpsm_infinipath
/usr/bin/ld: cannot find -lnl-3
/usr/bin/ld: cannot find -lnl-route-3
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libmpi.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Did you configure on a login node and make on a compute node? This is type of error usually is due to configure detected environment changed from the actual make environment.
No, I configure it on the login node and make on the login node, and my configure command is:
./configure --prefix=/path/to/mpich --with-cross=./cross
and the cross file:
CROSS_F77_SIZEOF_INTEGER=4
CROSS_F77_SIZEOF_REAL=4
CROSS_F77_SIZEOF_DOUBLE_PRECISION=8
CROSS_F90_ADDRESS_KIND=8
CROSS_F90_OFFSET_KIND=8
CROSS_F90_INTEGER_KIND=8
CROSS_F90_REAL_MODEL=6,37
CROSS_F90_DOUBLE_MODEL=15,307
CROSS_F90_INTEGER_MODEL_MAP={9,4,4}
CROSS_F77_TRUE_VALUE=1
CROSS_F77_FALSE_VALUE=0
I see. Could you try to configure and make it on a compute node instead? Sometimes the login node has the header files but not the actual libraries or library paths.
I experimented today and found that using gcc version 13.1.1 will have this problem, both on the login node and the compute node.
See if you have an existing libfabric installed. If there is, you can configure MPICH to use the external libfabric by adding configure option --with-libfabric=[path-to-libfabric]. Alternatively, you can try build and install libfabric separately then point to your libfabric using --with-libfabric=[path] option. You can either download a recent libfabric release or simply cd modules/libfabric and build from there.