Re: help with dpkg-shlibdeps/library dependencies
David Bremner <firstname.lastname@example.org> writes:
> I'm packaging the latest syncevolution (beta2) which needs a snapshot of
> libsynthesis (184.108.40.206+ds1). It builds fine, and seems to work, but the
> calculated depencies are wrong.
> src:libsynthesis makes two library binary packages, libsynthesis0 and
> dpkg-shlibdeps computes dependency
> libsynthesis0 (>= 220.127.116.11+ds2-1)
> This seems plausible, since the symbols file didn't change since
> then. On the other hand, it doesn't generate any dependency on
> libsmltk0, which is consistent with what is reported by.
> objdump -x /usr/bin/syncevolution | grep NEEDED
> Unfortunately, libsmltk0 has got at least one new symbol, and
> syncevolution gets fatal runtime errors (although, it is a bit
> mysterious that it doesn't get link time errors) if I install
> 18.104.22.168+ds2-2 of libsynthesis0 and libsmltk0
In case someone wonders we traced the problem on irc. The problem is
that the library contains a lookup table for a script interpreter and
that table has gotten some new entries. The scripts being interpreted
depend on those new entries. Since the entries are indexed by a string
there is no symbol that is being used. The script just contains the
The simple solution is to bump the version in the shlib file so anything
build against the new lib required as new enough one.