All, I'm trying to duplicate an issue I had with ESMF long ago (not sure if I reported it here or at ESMF, but...). It had been a while, so I started from scratch. I first built Open MPI 1.10.2 with Intel Fortran 16.0.0.109 and my system GCC (4.8.5 from RHEL7) with mostly defaults:
# ./configure --disable-wrapper-rpath CC=gcc CXX=g++ FC=ifort \ # CFLAGS='-fPIC -m64' CXXFLAGS='-fPIC -m64' FCFLAGS='-fPIC -m64' \ # --prefix=/ford1/share/gmao_SIteam/MPI/openmpi-1.10.2-ifort-16.0.0.109-shared | & tee configure.intel16.0.0.109-shared.log This built and checked just fine. Huzzah! And, indeed, it died in ESMF during a link in an odd way (ESMF is looking at it). As a thought, I decided to see if building Open MPI statically might help or not. So, I tried to build Open MPI with: # ./configure --disable-shared --enable-static --disable-wrapper-rpath CC=gcc CXX=g++ FC=ifort \ # CFLAGS='-fPIC -m64' CXXFLAGS='-fPIC -m64' FCFLAGS='-fPIC -m64' \ # --prefix=/ford1/share/gmao_SIteam/MPI/openmpi-1.10.2-ifort-16.0.0.109-static | & tee configure.intel16.0.0.109-static.log I just added --disable-shared --enable-static being lazy. But, when I do this, I get this (when built with make V=1): Making all in tools/oshmem_info make[2]: Entering directory `/ford1/share/gmao_SIteam/MPI/src/openmpi-1.10.2/oshmem/tools/oshmem_info' /bin/sh ../../../libtool --tag=CC --mode=link gcc -std=gnu99 -O3 -DNDEBUG -fPIC -m64 -finline-functions -fno-strict-aliasing -pthread -o oshmem_info oshmem_info.o param.o ../../../ompi/libmpi.la ../../../oshmem/ liboshmem.la ../../../orte/libopen-rte.la ../../../opal/libopen-pal.la -lrt -lm -lutil libtool: link: gcc -std=gnu99 -O3 -DNDEBUG -fPIC -m64 -finline-functions -fno-strict-aliasing -pthread -o oshmem_info oshmem_info.o param.o ../../../ompi/.libs/libmpi.a ../../../oshmem/.libs/liboshmem.a /ford1/share/gmao_SIteam/MPI/src/openmpi-1.10.2/ompi/.libs/libmpi.a -libverbs /ford1/share/gmao_SIteam/MPI/src/openmpi-1.10.2/orte/.libs/libopen-rte.a ../../../orte/.libs/libopen-rte.a /ford1/share/gmao_SIteam/MPI/src/openmpi-1.10.2/opal/.libs/libopen-pal.a ../../../opal/.libs/libopen-pal.a -lnuma -ldl -lrt -lm -lutil -pthread /usr/bin/ld: ../../../oshmem/.libs/liboshmem.a(memheap_base_static.o): undefined reference to symbol '_end' /usr/bin/ld: note: '_end' is defined in DSO /lib64/libnl-route-3.so.200 so try adding it to the linker command line /lib64/libnl-route-3.so.200: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status make[2]: *** [oshmem_info] Error 1 make[2]: Leaving directory `/ford1/share/gmao_SIteam/MPI/src/openmpi-1.10.2/oshmem/tools/oshmem_info' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/ford1/share/gmao_SIteam/MPI/src/openmpi-1.10.2/oshmem' make: *** [all-recursive] Error 1 So, what did I do wrong? Or is there something I need to add to the configure line? I have built static versions of Open MPI in the past (say 1.8.7 era with Intel Fortran 15), but this is a new OS (RHEL 7 instead of 6) so I can see issues possible. Anyone seen this before? As I said, the "usual" build way is just fine. Perhaps I need an extra RPM that isn't installed? I do have libnl-devel installed. -- Matt Thompson Man Among Men Fulcrum of History