from libopen-pal.la : dependency_libs=' -lrdmacm -libverbs -lscif -lnuma -ldl -lrt -lnsl -lutil -lm'
i confirm mpicc fails linking but FWIT, using libtool does work (!) could the bug come from the mpicc (and other) wrappers ? Gilles $ gcc -g -O0 -o hw /csc/home1/gouaillardet/hw.c -I/tmp/install/ompi.noromio/include -pthread -L/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath -Wl,/tmp/install/ompi.noromio/lib -Wl,--enable-new-dtags -L/tmp/install/ompi.noromio/lib -lmpi -lopen-rte -lopen-pal -lm -lnuma -libverbs -lscif -lrdmacm -ldl -llustreapi $ /tmp/install/ompi.noromio/bin/mpicc -g -O0 -o hw -show ~/hw.c gcc -g -O0 -o hw /csc/home1/gouaillardet/hw.c -I/tmp/install/ompi.noromio/include -pthread -L/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath -Wl,/tmp/install/ompi.noromio/lib -Wl,--enable-new-dtags -L/tmp/install/ompi.noromio/lib -lmpi -lopen-rte -lopen-pal -lm -lnuma -libverbs -lscif -lrdmacm -ldl -llustreapi [gouaillardet@soleil build]$ /tmp/install/ompi.noromio/bin/mpicc -g -O0 -o hw ~/hw.c /tmp/install/ompi.noromio/lib/libmpi.a(fbtl_posix_ipwritev.o): In function `mca_fbtl_posix_ipwritev': fbtl_posix_ipwritev.c:(.text+0x17b): undefined reference to `aio_write' fbtl_posix_ipwritev.c:(.text+0x237): undefined reference to `aio_write' fbtl_posix_ipwritev.c:(.text+0x3f4): undefined reference to `aio_write' fbtl_posix_ipwritev.c:(.text+0x48e): undefined reference to `aio_write' /tmp/install/ompi.noromio/lib/libopen-pal.a(opal_pty.o): In function `opal_openpty': opal_pty.c:(.text+0x1): undefined reference to `openpty' /tmp/install/ompi.noromio/lib/libopen-pal.a(event.o): In function `event_add_internal': event.c:(.text+0x288d): undefined reference to `clock_gettime' $ /bin/sh ./static/libtool --silent --tag=CC --mode=compile gcc -std=gnu99 -I/tmp/install/ompi.noromio/include -c ~/hw.c $ /bin/sh ./static/libtool --silent --tag=CC --mode=link gcc -std=gnu99 -o hw hw.o -L/tmp/install/ompi.noromio/lib -lmpi $ ldd hw linux-vdso.so.1 => (0x00007fff7530d000) librdmacm.so.1 => /usr/lib64/librdmacm.so.1 (0x00007f0ed541e000) libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00007f0ed5210000) libscif.so.0 => /usr/lib64/libscif.so.0 (0x0000003b9c600000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000003ba5600000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003b9be00000) librt.so.1 => /lib64/librt.so.1 (0x0000003b9ca00000) libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003bae200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003bac600000) libm.so.6 => /lib64/libm.so.6 (0x0000003b9ba00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003b9c200000) libc.so.6 => /lib64/libc.so.6 (0x0000003b9b600000) /lib64/ld-linux-x86-64.so.2 (0x0000003b9b200000) On 2014/08/05 7:56, Ralph Castain wrote: > My thought was to post initially as a blocker, pending a discussion with Jeff > at tomorrow's telecon. If he thinks this is something we can fix in some > central point (thus catching it everywhere), then it could be quick and worth > doing. However, I'm skeptical as I tried to do that in the most obvious > place, and it failed (could be operator error). > > Will let you know tomorrow. Truly appreciate your digging on this! > Ralph > > On Aug 4, 2014, at 3:50 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > >> Ralph and Jeff, >> >> I've been digging and find the problem is wider than just the one library >> and has manifestations specific to FreeBSD, NetBSD and Solaris. I am adding >> new info to the ticket as I unearth it. >> >> Additionally, it appears this existed in 1.8, 1.8.1 and in the 1.7 series as >> well. >> So, would suggest this NOT be a blocker for a 1.8.2 release. >> >> Of course I am willing to provide testing if you still want to push for a >> quick resolution. >> >> -Paul >> >> >> On Mon, Aug 4, 2014 at 1:27 PM, Ralph Castain <r...@open-mpi.org> wrote: >> Okay, I filed a blocker on this for 1.8.2 and assigned it to Jeff. I took a >> crack at fixing it, but came up short :-( >> >> >> On Aug 3, 2014, at 10:46 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: >> >>> I've identified the difference between the platform that does link libutil >>> and the one that does not. >>> >>> 1) libutil is linked (as an OMPI dependency) only on the working system: >>> >>> Working system: >>> $ grep 'checking for .* LIBS' configure.out >>> checking for OPAL LIBS... -lm -lpciaccess -ldl >>> checking for ORTE LIBS... -lm -lpciaccess -ldl -ltorque >>> checking for OMPI LIBS... -lm -lpciaccess -ldl -ltorque -lrt -lnsl -lutil >>> >>> NON-working system: >>> $ grep 'checking for .* LIBS' configure.out >>> checking for OPAL LIBS... -lm -ldl >>> checking for ORTE LIBS... -lm -ldl -ltorque >>> checking for OMPI LIBS... -lm -ldl -ltorque >>> >>> So, the working system that does link libutil is doing so as an OMPI >>> dependency. >>> However it is also needed for opal (only caller of openpty is >>> opal/util/open_pty.c). >>> >>> 2) Only the working system is building ROMIO: >>> >>> Comparing the 'checking if * can compile' lines of configure output shows >>> only ONE difference: >>> >>> checking if MCA component fs:ufs can compile... yes >>> checking if MCA component fs:pvfs2 can compile... no >>> checking if MCA component io:ompio can compile... yes >>> -checking if MCA component io:romio can compile... no >>> +checking if MCA component io:romio can compile... yes >>> checking if MCA component mpool:grdma can compile... yes >>> checking if MCA component mpool:sm can compile... yes >>> checking if MCA component mpool:udreg can compile... no >>> >>> So, it appears that *if* ROMIO is configured in, then "-lutil" gets added >>> to OMPI_WRAPPER_EXTRA_LIBS. >>> This masks the fact that it is missing from OPAL_WRAPPER_EXTRA_LIBS. >>> >>> >>> I have confirmed that I can reproduce the static linking failure by adding >>> --disable-io-romio to the configure options of the system that worked >>> previously. >>> >>> So, I update my report (and the email subject line) to: >>> Static linking fails on Linux when not building ROMIO >>> >>> -Paul >>> >>> >>> >>> On Sun, Aug 3, 2014 at 6:22 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: >>> Hmm, >>> >>> On a different Linux/x86-64 host things work as expected with '-lutil' >>> linked explicitly: >>> >>> $ ./INST/bin/mpicc -showme BLD/examples/hello_c.c >>> pgcc BLD/examples/hello_c.c >>> -I/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc3-linux-x86_64-pgi-14.1/INST/include >>> -L/opt/torque/4.2.7.h1/lib -Wl,-rpath -Wl,/opt/torque/4.2.7.h1/lib >>> -Wl,-rpath -Wl,/opt/torque/4.2.7.h1/lib -Wl,-rpath >>> -Wl,/opt/torque/4.2.7.h1/lib -Wl,-rpath -Wl,/opt/torque/4.2.7.h1/lib >>> -Wl,-rpath >>> -Wl,/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc3-linux-x86_64-pgi-14.1/INST/lib >>> >>> -L/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc3-linux-x86_64-pgi-14.1/INST/lib >>> -lmpi -lopen-rte -lopen-pal -lm -lpciaccess -ldl -ltorque -lrt -lnsl -lutil >>> >>> Searching for relevant differences now... >>> >>> -Paul >>> >>> >>> On Sun, Aug 3, 2014 at 4:58 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: >>> >>> I've configured the 1.8.2rc3 tarball with "--enable-static >>> --disable-shared" on a fairly standard Linux/x86-64 platform. While there >>> are no problems on the same platform w/o these configure flags, with them I >>> cannot link any application codes. >>> >>> $ mpicc -g hello_c.c -o hello_c >>> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.2rc3-linux-x86_64-static/INST/lib/libopen-pal.a(opal_pty.o): >>> In function `opal_openpty': >>> opal_pty.c:(.text+0x1): undefined reference to `openpty' >>> >>> I checked "make openpty" and the manpage says to link with '-lutil'. >>> The '-showme' does not show libutil: >>> >>> $ mpicc -showme hello_c.c >>> gcc hello_c.c >>> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.2rc3-linux-x86_64-static/INST/include >>> -pthread -L/usr/syscom/opt/torque/4.1.4/lib -Wl,-rpath >>> -Wl,/usr/syscom/opt/torque/4.1.4/lib -Wl,-rpath >>> -Wl,/usr/syscom/opt/torque/4.1.4/lib -Wl,-rpath >>> -Wl,/usr/syscom/opt/torque/4.1.4/lib -Wl,-rpath >>> -Wl,/usr/syscom/opt/torque/4.1.4/lib -Wl,-rpath >>> -Wl,/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.2rc3-linux-x86_64-static/INST/lib >>> -Wl,--enable-new-dtags >>> -L/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.2rc3-linux-x86_64-static/INST/lib >>> -lmpi -lopen-rte -lopen-pal -lm -ldl -ltorque -libverbs -lrdmacm >>> >>> >>> It looks like configure is doing the right thing on some level, but failing >>> to add '-lutil' to the appropriate list of libs (OPAL_WRAPPER_EXTRA_LIBS?): >>> >>> ============================================================================ >>> == Library and Function tests >>> ============================================================================ >>> checking if we need -lutil for openpty... yes >>> checking for openpty... yes >>> >>> >>> -Paul >>> >>> -- >>> Paul H. Hargrove phhargr...@lbl.gov >>> Future Technologies Group >>> Computer and Data Sciences Department Tel: +1-510-495-2352 >>> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >>> >>> >>> >>> -- >>> Paul H. Hargrove phhargr...@lbl.gov >>> Future Technologies Group >>> Computer and Data Sciences Department Tel: +1-510-495-2352 >>> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >>> >>> >>> >>> -- >>> Paul H. Hargrove phhargr...@lbl.gov >>> Future Technologies Group >>> Computer and Data Sciences Department Tel: +1-510-495-2352 >>> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Link to this post: >>> http://www.open-mpi.org/community/lists/devel/2014/08/15492.php >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/08/15501.php >> >> >> >> -- >> Paul H. Hargrove phhargr...@lbl.gov >> Future Technologies Group >> Computer and Data Sciences Department Tel: +1-510-495-2352 >> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/08/15503.php > > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15504.php