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

Reply via email to