On a Linux/x86-64 system I have configure with --enable-debug --with-verbs --with-portals4=[path] --with-libfabric=[path] --with-tm=[path] --disable-io-romio
Configured that way all is fine. However, if I additionally pass --enable-static --disable-shared the I see the following build failure: /bin/sh ../../../libtool --tag=CC --mode=link gcc -DOTFMERGE_MPI -g -O2 -L/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs -L/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/contrib/vt/vt/../../../.libs -o otfmerge-mpi otfmerge_mpi-handler.o otfmerge_mpi-otfmerge.o ../../../otflib/libopen-trace-format.la ../../../otfauxlib/libotfaux.la -lmpi libtool: link: gcc -DOTFMERGE_MPI -g -O2 -o otfmerge-mpi otfmerge_mpi-handler.o otfmerge_mpi-otfmerge.o -L/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs -L/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/contrib/vt/vt/../../../.libs ../../../otflib/.libs/libopen-trace-format.a ../../../otfauxlib/.libs/libotfaux.a /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs/libmpi.a -L/usr/common/ftg/ptl4/lib -L/usr/syscom/opt/torque/4.1.4/lib /usr/common/ftg/ptl4/lib/libportals.so /usr/common/ftg/ptl4/lib/libev.so -libverbs -lrdmacm -lbsd-compat /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/orte/.libs/libopen-rte.a /usr/syscom/opt/torque/4.1.4/lib/libtorque.so -lxml2 -lz -lcrypto -lssl -lpthread /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/opal/.libs/libopen-pal.a -ldl -lrt -lm -lutil -pthread -Wl,-rpath -Wl,/usr/common/ftg/ptl4/lib -Wl,-rpath -Wl,/usr/syscom/opt/torque/4.1.4/lib -Wl,-rpath -Wl,/usr/common/ftg/ptl4/lib -Wl,-rpath -Wl,/usr/syscom/opt/torque/4.1.4/lib /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs/libmpi.a(mtl_ofi_component.o): In function `fi_allocinfo': /usr/common/ftg/libfabric/1.1.0rc2p1/include/rdma/fabric.h:365: undefined reference to `fi_dupinfo' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs/libmpi.a(mtl_ofi_component.o): In function `ompi_mtl_ofi_component_init': /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:257: undefined reference to `fi_getinfo' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:264: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:288: undefined reference to `fi_fabric' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:292: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:308: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:326: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:347: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:360: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs/libmpi.a(mtl_ofi_component.o):/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:373: more undefined references to `fi_strerror' follow /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs/libmpi.a(mtl_ofi_component.o): In function `ompi_mtl_ofi_component_init': /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:404: undefined reference to `fi_freeinfo' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:406: undefined reference to `fi_freeinfo' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:415: undefined reference to `fi_strerror' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:454: undefined reference to `fi_freeinfo' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi_component.c:457: undefined reference to `fi_freeinfo' /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/BLD/ompi/.libs/libmpi.a(mtl_ofi.o): In function `ompi_mtl_ofi_del_procs': /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.10.0rc3-linux-x86_64-static/openmpi-1.10.0rc3/ompi/mca/mtl/ofi/mtl_ofi.c:147: undefined reference to `fi_strerror' collect2: error: ld returned 1 exit status This is with the 1.1.0 release of libfabric, in which both the .a and .so have been installed. As an experiment I tried removing the .so from the libfabric installation. When I did that, then the normal build (w/o "--enable-static --disable-shared") still builds correctly. So, I suspect something might be amiss in how Open MPI is linking. In particular I see the link command has contains the path to the Portals4 library directory no less than 3 times in addition to the full paths to libportals.so and its associated libev.so. Meanwhile, there is not a single reference in the link command to the libfabric lib directory or to libfabric.*. Knowing Jeff wears hats in both the Open MPI and Open Fabrics camps, I am hoping he can make sense of this. -Paul -- Paul H. Hargrove phhargr...@lbl.gov Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900