backward dependencies on libzfs

Craig Rodrigues rodrigc at FreeBSD.org
Tue Apr 28 00:57:33 UTC 2015


On Mon, Apr 27, 2015 at 1:17 AM, Andriy Gapon <avg at freebsd.org> wrote:

>
> 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.
>
>
Fixes similar to this:
https://svnweb.freebsd.org/changeset/base/272484

need to be done to plug these symbol dependency problems in the libraries.

--
Craig


More information about the freebsd-current mailing list