HI Matt, If you don't need oshmem, you could try again with --disable-oshmem added to the config line
Howard 2016-01-22 12:15 GMT-07:00 Matt Thompson <fort...@gmail.com>: > 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 > > > _______________________________________________ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/01/28344.php >