Re: the meaning of pkgconfig's Libs fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx> writes:

> 1. pc(5) talks about "package", as if one would want to link to a
>    whole "package" instead one of the specific library files provided
>    by a package. Thankfully most .pc files only list one "-l" in Libs.
>    (Counterexamples: tbbmalloc_proxy.pc says 'Libs:-ltbbmalloc_proxy -ltbbmalloc',
>    and mit-krb5.pc says Libs:-lkrb5 -lk5crypto -lcom_err.)

k5crypto and com_err are internal libraries used across the different
interfaces krb5 provides - they're not intended for external
consumption, and upstream doesn't support their direct use by other
applications.

> To a large extent pkgconfig files are duplicating dependency logic
> that is already provided by distro packaging (rpm in our case). This
> would seem like an OK idea: upstreams specify which libraries they
> need and downstreams use it.

So you're technically right that this information is already duplicated
by the dependencies libkrb5.so has already, but that's only true on
Linux.  The .pc files are provided by upstream, and need to work on all
OSs that upstream supports - which includes OSs whose linkers don't
follow dependencies, like AIX.

> Items 1 + 2 are promoting overlinking, i.e. adding either unneeded
> libraries, or libraries that are used indirectly, to linker flags for
> some object being linked.

If the object is going to get loaded at run-time in all cases anyway (as
is the case here), the cost of this is tiny.  The linker will only load
the one copy, and the size difference from having vs. not having the
dependency marked is tiny.  Unless this is breaking something, I don't
believe it's worth the effort to change (but I don't represent krb5 and
don't speak for those folks).

Be well,
--Robbie

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux