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

