[Pkg-zfsonlinux-devel] Bug#880709: zfsutils-linux 0.7.3 has an unlisted dependency on libuutil1linux >= 0.7.3

Rich rincebrain at gmail.com
Thu Nov 16 15:09:45 UTC 2017


I'm not sure I understand what you mean by symbol files for the libraries,
here - I know what symbols are, and usually I'd expect symbol files to
refer to something like external debug symbols, but it sounds like you're
suggesting something else?

I'd pretty strongly suggest depending on identically versioned module,
since AFAIK the guarantee for what happens if you replace the userland and
not the kernel module even across point versions is "nothing".

Of course, then you still have the problem of needing to reload the module
after replacing the userland, which you don't always get to do if you're
doing ZFS root...

Maybe it'd be a reasonable thing to do to try and get a patch upstream to
notice when userland and module version disagree and print a notice that
all bets are off. But then you'd need text processing to understand the
module versioning in each for anything but exact matching e.g. 0.7.3-1
versus 0.7.3.

At a minimum, you'd want to depend on the same point version (e.g. 0.7.3-1
and 0.7.3-2 should be fine to mix, unless we start integrating really
disruptive changes that aren't planned to go into the mainline version),
though we might want to just opt for exact version so we don't have to
worry about overlooking a change that would break this, but trying to do
that string processing wouldn't necessarily be portable or accepted
upstream (e.g. consider the versions emitted by git, IIRC of the form
0.X.Y-g[git shorthash], and you _definitely_ don't want to mix across
those).

Maybe just exact version matching for now (for both module/userland and
userland/dependent libraries) and an upstream enhancement request to notify
people they might set their house on fire if they mix differing
module/userland versions?

- Rich

On Thu, Nov 16, 2017 at 9:40 AM, Fabian Grünbichler <
f.gruenbichler at proxmox.com> wrote:

> On Sat, Nov 04, 2017 at 12:17:48AM -0400, Rich Ercolani wrote:
> > Package: zfsutils-linux
> > Version: 0.7.3-1
> > Severity: important
> >
> > Dear Maintainer,
> >
> > As the subject says, if you just install {zfsutils-linux,spl-dkms,zfs-dkms}/unstable,
> you can end up with libuutil1linux from stable or testing, and get back:
> > zpool: symbol lookup error: /lib/libzpool.so.2: undefined symbol:
> spl_pagesize
> > Explicitly installing libuutil1linux >= 0.7.3 resolves this, so the
> package should probably have an explicit version dependency listed.
> >
> > (As you can see, I commonly configure stable > testing > unstable
> pinning preferences, so booting a new stretch machine and installing the
> above with those pinnings will result in this.)
> >
> > - Rich
>
> I see two ways to go forward here:
> - add symbols files for the libraries and keep them uptodate
> - require libraries and utilities to have the exact same version
>   (upstream does not guarantuee ABI/API stability yet AFAIK, only
>   on-disk-format stability).
>
> I'll evaluate the symbols route tomorrow to see how much work it is
> (starting from 0.6.5.11-1).
>
> furthermore, the question of how to handle the userspace -> module
> dependency needs to be solved somehow. again, there are two basic
> possibilities:
>
> - add a versioned dependency to the same major version now, and bump it
>   whenever incompatibilities are known
> - always depend on an identically versioned module
>
> thoughts?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-zfsonlinux-devel/attachments/20171116/182539cc/attachment.html>


More information about the Pkg-zfsonlinux-devel mailing list