László Böszörményi (GCS), on dim. 05 nov. 2017 14:28:33 +0100, wrote:
> On Sun, Nov 5, 2017 at 2:14 PM, Samuel Thibault <[email protected]> wrote:
> > László Böszörményi (GCS), on dim. 05 nov. 2017 14:12:18 +0100, wrote:
> >> > I'd say that libexpat1-dev should just not expose -lbsd, since users of
> >> > libexpat don't actually need to link against libbsd directly, it will
> >> > get pulled automatically at runtime.
> >>  At runtime, yes - but during compilation libbsd-dev should be present.
> >
> > Why?
>  On kfreebsd-* and hurd-i386 architectures libexpat uses
> arc4random_buf() from libbsd and thus links to it. Hence anything
> links to expat on these architectures, may use this function
> indirectly. If you don't link to libbsd and / or the .so symlink is
> not present, you will get undefined symbol of the mentioned function.

Really? Such undefined symbols only happen when the application call the
function directly, not when they link against a library which call the
function.

The only case where that happens is static linking, so -lbsd does need
to be in Libs.private indeed, but that's the only case, and Debian
itself does not use it, so it's not needed for Build-Deps.

Samuel

Reply via email to