On 15/11/18 11:45 am, Christopher Samuel wrote: > Unfortunately that's not the case, just creating a shared library > that only links in libmpi.so will create dependencies on the private > libraries too in the final shared library. :-(
Hmm, I might be misinterpreting the output of "ldd", it looks like it reports the dependencies of dependencies not just the direct dependencies. "readelf -d" seems more reliable. [csamuel@farnarkle2 libtool]$ readelf -d libhhgttg.so.1 | fgrep -i lib 0x0000000000000001 (NEEDED) Shared library: [libmpi.so.40] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000e (SONAME) Library soname: [libhhgttg.so.1] Whereas the HDF5 libraries really do have them listed as a dependency. [csamuel@farnarkle2 1.10.1]$ readelf -d ./lib/libhdf5_fortran.so.100 | fgrep -i lib 0x0000000000000001 (NEEDED) Shared library: [libhdf5.so.101] 0x0000000000000001 (NEEDED) Shared library: [libsz.so.2] 0x0000000000000001 (NEEDED) Shared library: [libmpi_usempif08.so.40] 0x0000000000000001 (NEEDED) Shared library: [libmpi_usempi_ignore_tkr.so.40] 0x0000000000000001 (NEEDED) Shared library: [libmpi_mpifh.so.40] 0x0000000000000001 (NEEDED) Shared library: [libmpi.so.40] 0x0000000000000001 (NEEDED) Shared library: [libopen-rte.so.40] 0x0000000000000001 (NEEDED) Shared library: [libopen-pal.so.40] 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [librt.so.1] 0x0000000000000001 (NEEDED) Shared library: [libutil.so.1] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libz.so.1] 0x0000000000000001 (NEEDED) Shared library: [libhwloc.so.5] 0x0000000000000001 (NEEDED) Shared library: [libgfortran.so.3] 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libquadmath.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x000000000000000e (SONAME) Library soname: [libhdf5_fortran.so.100] 0x000000000000001d (RUNPATH) Library runpath: [/apps/skylake/software/mpi/gcc/6.4.0/openmpi/3.0.0/hdf5/1.10.1/lib:/apps/skylake/software/core/szip/2.1.1/lib:/apps/skylake/software/compiler/gcc/6.4.0/openmpi/3.0.0/lib:/apps/skylake/software/core/gcccore/6.4.0/lib/../lib64] I wonder if it's because they use libtool instead? All the best, Chris -- Christopher Samuel OzGrav Senior Data Science Support ARC Centre of Excellence for Gravitational Wave Discovery http://www.ozgrav.org/ http://twitter.com/ozgrav _______________________________________________ devel mailing list devel@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/devel