On Mon, 26 Aug 2019, Jonas Smedegaard wrote:

Quoting Matthew Gabeler-Lee (2019-08-26 15:42:32)
Given its a symbols related issue, arguably that package needs its
soversion bumped?

If you mean bumping SOVERSION of bitcoin-qt, then I disagree, and ask
you to please elaborate why you think that should be done.

If you mean bumping SOVERSION of libleveldb1d then I agree.

Yes, bumping soname/soversion of libleveldb is what I meant, sorry if wording was unclear there.

Indeed, this package needs its dependency on libleveldb1d bumped.

This problem happened while there was no change to bitcoin-qt and while
libleveldb1d was upgraded to a newer upstream version.

The cause of this problem is therefore likely that libleveldb1d failed
to bump its soname.  Only if bitcoin-qt is linking beyond the public API
of libleveldb1d is bitcoin-qt to blame for this failure.

I see no need for bumping any dependencies: A simple rebuild made the
package work again, which to me indicates that this is a bug in
libleveldb1d.

Again, unclear wording on my part, sorry. I didn't mean bumping source dependency versions, just the binary version, which rebuilding does.

Given this makes the daemon not launch, it probably merits a severity
bump.

Raising severity beyond "important" practically means "if this issue
isn't fixed then better to remove the package from the arcive" which
arguably doesn't make sense for bitcoin-qt (it works when only the right
library is available) but certainly makes sense if reassigned to
libleveldb1d (it is suspected that this issue affects other applications
too).

I have not had time to investigate closer if relevant to reassign, and
prefer for now to leave this open but at non-fatal severity, as it is
does not affect the 0.18.1~dfsg-1 release.

I suspect that, whatever is done to libleveldb, a rebuild of the bitcoin package will be required.

Help investigating closer would be much appreciated.

apt-rdepends --reverse libleveldb1d gives:

  Reverse Depends: bitcoin-qt (0.18.1~dfsg-1)
  Reverse Depends: bitcoind (0.18.1~dfsg-1)
  Reverse Depends: caffe-tools-cpu (1.0.0+git20180821.99bd997-2+b1)
  Reverse Depends: caffe-tools-cuda (1.0.0+git20180821.99bd997-4)
  Reverse Depends: ceph-base (12.2.11+dfsg1-2.1)
  Reverse Depends: ceph-mon (12.2.11+dfsg1-2.1)
  Reverse Depends: ceph-osd (12.2.11+dfsg1-2.1)
  Reverse Depends: ceph-test (12.2.11+dfsg1-2.1)
  Reverse Depends: groestlcoin-qt (2.17.2~dfsg-1)
  Reverse Depends: groestlcoind (2.17.2~dfsg-1)
  Reverse Depends: libcaffe-cpu1 (1.0.0+git20180821.99bd997-2+b1)
  Reverse Depends: libcaffe-cuda1 (1.0.0+git20180821.99bd997-4)
  Reverse Depends: libleveldb-dev (= 1.22-3)
  Reverse Depends: libleveldb1.2-cil (1.9.1-1.2)
  Reverse Depends: libleveldb1d-dbgsym (= 1.20-2.1)
  Reverse Depends: librime1 (1.4.0+dfsg1-2+b1)
  Reverse Depends: litecoin-qt (0.17.1-1)
  Reverse Depends: litecoind (0.17.1-1)
  Reverse Depends: minetest (5.0.1+repack-2)
  Reverse Depends: minetest-server (5.0.1+repack-2)
  Reverse Depends: node-leveldown (1.5.0+dfsg-3+b1)
  Reverse Depends: python-leveldb (0~svn68-3+b3)
  Reverse Depends: python3-leveldb (0~svn68-3+b3)
  Reverse Depends: stenographer (0.0~git20190528.0.6415e2b-1)

Presumably this bug needs to be reassigned to libleveldb, and once fixed there, bitcoin (and many other packages) will need to be rebuilt to depend on the new binary package that generates (liblevedb1e?).

Digging into the leveldb source and its differences between 1.20 and 1.22, the "port" section of the library looks to have been completely rewritten, so I think the first step here is to reassign this to leveldb with a need for a soname bump since breaking changes were made to the ABI there.

--
        -- Matt
"Reality is that which, when you stop believing in it, doesn't go away".
                -- Philip K. Dick
GPG fingerprint: 0061 15DF D282 D4A9 57CE  77C5 16AF 1460 4A3C C4E9

Reply via email to