I downloaded mpich-1.3.4.tar.gz and was able to build it with GCC 4.9.1 and the following configure flags:
./configure \
CC=/opt/gnu/gcc/bin/gcc \
FC=/opt/gnu/gcc/bin/gfortran \
CXX=/opt/gnu/gcc/bin/g++ \
--enable-static \
--with-device=ch3:nemesis \
--with-thread-package=posix \
--with-pm=hydra \
--enable-shared \
--enable-debuginfo \
--prefix=$dest
If instead I try to build w/ IB support, namely:
./configure \
CC=/opt/gnu/gcc/bin/gcc \
FC=/opt/gnu/gcc/bin/gfortran \
CXX=/opt/gnu/gcc/bin/g++ \
--enable-static \
--with-device=ch3:nemesis:ib \
--with-thread-package=posix \
--with-pm=hydra \
--enable-shared \
--enable-debuginfo \
--prefix=$dest
I get the following (slew) of errors when building (make):
CC src/mpid/ch3/channels/nemesis/netmod/ib/lib_libmpi_la-ib_poll.lo
src/mpid/ch3/channels/nemesis/netmod/ib/ib_poll.c: In function 'MPID_nem_ib_Pkt\
Handler_Put':
src/mpid/ch3/channels/nemesis/netmod/ib/ib_poll.c:1839:24: error: 'MPIDI_CH3_Re\
qHandler_PutRecvComplete' undeclared (first use in this function)
req->dev.OnFinal = MPIDI_CH3_ReqHandler_PutRecvComplete;
^
src/mpid/ch3/channels/nemesis/netmod/ib/ib_poll.c:1839:24: note: each undeclared identifier is reported only once for each function it appears in
src/mpid/ch3/channels/nemesis/netmod/ib/ib_poll.c:1847:20: error: 'MPIDI_CH3_Pkt_put_t' has no member named 'immed_len'
if (put_pkt->immed_len > 0) {
^
In file included from ./src/mpid/ch3/channels/nemesis/include/mpid_nem_memdefs.h:10:0,
from ./src/mpid/ch3/channels/nemesis/include/mpid_nem_pre.h:12,
from ./src/mpid/ch3/channels/nemesis/include/mpidi_ch3_pre.h:9,
from ./src/mpid/ch3/include/mpidpre.h:49,
from ./src/include/mpiimpl.h:172,
from ./src/mpid/ch3/include/mpidimpl.h:22,
from ./src/mpid/ch3/channels/nemesis/include/mpidi_ch3_impl.h:10,
from ./src/mpid/ch3/channels/nemesis/include/mpid_nem_impl.h:11,
from src/mpid/ch3/channels/nemesis/netmod/ib/ib_impl.h:11,
from src/mpid/ch3/channels/nemesis/netmod/ib/ib_poll.c:8:
src/mpid/ch3/channels/nemesis/netmod/ib/ib_poll.c:1849:66: error: 'MPIDI_CH3_Pkt_put_t' has no member named 'immed_len'
MPIU_Memcpy(req->dev.user_buf, put_pkt->data, put_pkt->immed_len);
[...]
What I am doing wrong? Is there a documentation on the values that can be used for --with-device
and how to build mpich w/ InfiniBand support.