FYI: FreeBSD: upgrade to protobuf-c 1.4.1_6 breaks dig
Peter
pmc at citylink.dinoex.sub.org
Mon Oct 14 21:38:24 UTC 2024
On Mon, Oct 14, 2024 at 06:10:20AM -0700, Steve Rikli wrote:
! On Mon, Oct 14, 2024 at 07:19:06AM +0200, Peter wrote:
! > On Sun, Oct 13, 2024 at 10:55:52PM +0100, Niall O'Reilly wrote:
! > ! FYI only. I've submitted a [bug report][] to the FreeBSD Bugzilla.
! >
! > ! After upgrading to 1.4.1_6, I see:
! > !
! > ! ```
! > ! grab(maint)$ uname -a
! > ! FreeBSD grab.no8.be 14.1-RELEASE-p5 FreeBSD 14.1-RELEASE-p5 GENERIC amd64
! > ! grab(maint)$ pkg info protobuf-c | grep -i ^version
! > ! Version : 1.4.1_6
! > ! grab(maint)$ dig -v
! > ! ld-elf.so.1: /usr/local/lib/libprotobuf-c.so.1: version LIBPROTOBUF_C_1.0.0
! > ! required by /usr/local/lib/bind-tools/libdns-9.20.2.so not defined
! > ! grab(maint)$
! > ! ```
! >
! > I cannot reproduce:
! >
! > # dig -v
! > DiG 9.20.2
! > # ldd /usr/local/bin/dig | grep protobuf
! > libprotobuf-c.so.1 => /usr/local/lib/libprotobuf-c.so.1 (0x174f307b6000)
! > # pkg which /usr/local/lib/libprotobuf-c.so.1
! > /usr/local/lib/libprotobuf-c.so.1 was installed by package protobuf-c-1.4.1_6
! >
! > # uname -a
! > FreeBSD vbuild3 13.4-RELEASE-p1 FreeBSD 13.4-RELEASE-p1[e0f62d90381c=bc3877972ebd+41] ZE6R13V1 amd64
!
! Peter, in your reproduce attempt, were these newly-installed (presumably
! together), or was protobuf[-c] subsequently upgraded in an existing
! installation?
Let's say, "radically new installed".
I run builds inside temporary bhyve-guests, so things are all freshly
compiled on a pristine OS image.
! In a quick experiment, which had bind 9.18.30 btw, I was unable to
! reproduce the problem in a fresh install of bind or bind-tools, either
! FreeBSD pkg pulls in the protobuf[-c] pre-req pkg during install.
!
! However, on 4 servers (3 amd64, 1 i386) which had pre-existing bind and
! bind-tools pkgs already installed, upgrading protobuf[-c] yielded the
! lib problem Niall saw, e.g. for both 'dig' and 'named' binaries.
!
! Re-installing bind[-tools] resolved the library conflict. I don't quite
! understand why.
I agree, this is creepy.
1. dig shouldn't even use this library. It is present in order to build
dnstap-read. I'm not aware of any other use.
2. dig should be able to run with any variant of the library, as long
as it is 1.0.
Quick check:
- DiG 9.18.29 built with protobuf-c 1.4.1_2 reports version with
protobuf-c 1.4.1_6
- DiG 9.20.2 built with protobuf-c 1.4.1_6 reports version with
protobuf-c 1.4.1_2
Whatever is going on here is not easy to understand from a remote
position.
As I just see, the "bind-tools" pkg was recently switched from 9.18 to
9.20. Named itself however is whatever version you choose to install
(if any). Maybe there is some conflict in that area.
I'll leave this for now, let's see what happens when my builds are
done and things are rolled out...
cheers,
PMc
More information about the bind-users
mailing list