backward dependencies on libzfs

Andriy Gapon avg at FreeBSD.org
Mon Apr 27 08:18:12 UTC 2015


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


More information about the freebsd-current mailing list