Re: Dependencies of -dev packages
On Mon, Oct 24, 2005 at 07:55:25PM +0200, Kurt Roeckx wrote:
> > $ pkg-config --libs a
> > -la -lb
> ^^^
>
> It should not link to libb if you only request it to link to
> liba. liba should have a DT_NEEDED for libb, and the linker
> should find the symbols liba needs from libb itself.
No. Using "Requires:" instead of "Requires.private:" means that a's API
exposes the dependency on b (for example, by directly referencing
symbols from libb in a's header files). In this case, you _do_ need to
link with libb explicitely, shared library dependencies won't help you.
Extreme example: it is possible that public headers from "a" reference
symbols from "b", but liba itself does not use any symbols from libb,
therefore it does not depend (in the DT_NEEDED sense) on libb at all.
Gabor
--
---------------------------------------------------------
MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
---------------------------------------------------------
Reply to: