backward dependencies on libzfs

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Mon, 27 Apr 2015 11:17:14 +0300
I am not sure what's the best list to discuss this issue, so let me raise it here.

It seems that libzfs_core can not be used without also linking / loading libzfs:
/lib/libzfs_core.so.2: Undefined symbol "zcmd_ioctl_compat"

The same is true for libnvpair but for a different reason (and it looks like mea
culpa):
/lib/libnvpair.so.2: Undefined symbol "aok"

Both dependencies seem to be backward, because:
$ ldd /lib/libzfs.so.2
/lib/libzfs.so.2:
        libmd.so.6 => /lib/libmd.so.6 (0x801647000)
        libthr.so.3 => /lib/libthr.so.3 (0x801857000)
        libumem.so.2 => /lib/libumem.so.2 (0x801a7c000)
        libutil.so.9 => /lib/libutil.so.9 (0x801c7d000)
        libuutil.so.2 => /lib/libuutil.so.2 (0x801e8f000)
        libm.so.5 => /lib/libm.so.5 (0x802098000)
        *libnvpair.so.2 => /lib/libnvpair.so.2 (0x8022c1000)*
        libavl.so.2 => /lib/libavl.so.2 (0x8024d6000)
        libbsdxml.so.4 => /lib/libbsdxml.so.4 (0x8026d8000)
        libgeom.so.5 => /lib/libgeom.so.5 (0x8028ff000)
        *libzfs_core.so.2 => /lib/libzfs_core.so.2 (0x802b04000)*
        libc.so.7 => /lib/libc.so.7 (0x80081f000)
        libsbuf.so.6 => /lib/libsbuf.so.6 (0x802d08000)

So, there are circular dependencies between libzfs and the other library in both
cases.
It seems that those dependencies do not cause much, if any trouble, in practice,
but they are not nice, because they are unexpected and they are not present on
other OpenZFS platforms.

-- 
Andriy Gapon
Received on Mon Apr 27 2015 - 06:18:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:57 UTC