Missing pkgconfig dependencies

Matthias Clasen mclasen at redhat.com
Wed Mar 30 13:43:38 UTC 2005


On Wed, 2005-03-30 at 07:45 -0500, Daniel Veillard wrote:
> On Wed, Mar 30, 2005 at 01:01:36PM +0200, Michael Schwendt wrote:
> > On Wed, 30 Mar 2005 05:44:34 -0500, Daniel Veillard wrote:
> > 
> > >   Okay I have only one normative text for what pkgconfig is all about:
> > > 
> > > man pkg-config
> > > -------------------------
> > > The pkg-config program is used to retrieve information about installed
> > > libraries in the system.  It is typically used  to  compile  and  link
> > > against  one or more libraries.  Here is a typical usage scenario in a
> > > Makefile:
> > > -------------------------
> > > 
> > >   pkg-config is there to get library dependancies. Program needing fam or
> > > gamin support need it to get the libraries to link to. The output of
> > > pkgconfig cflags or link must *NOT* show glib output, even if from a 
> > > packaging level, gamin requires glib for the server side. The fact that
> > > KDE requires fam or gamin, does not mean it should link against glib.
> > > So without further detailed information allowing to disambiguate using
> > > pkgconfig for it's original goal of simplifying compiling and linking from
> > > the added use as a packaging dependancy, bug #152486 is a WONTFIX for me.
> > 
> > Bug-specific replies are better added in bugzilla. I replied to #152486
> 
>   The underlying concern I have is that pkg-config is self described as
> a tool for libraries dependancies, and the reports I get here are about
> packages dependancies. There can be good reasons why both are not the same.
> I still don't have an explanation why both semantic are pushed as a 
> being the same distro wide, nor what I misssed assuming I got something
> wrong.

Daniel, 

.pc files contain dependencies, e.g. the gdk-pixbuf-2.0.pc file has the
line

Requires: gobject-2.0,gmodule-no-export-2.0

which means you'll get errors from pgk-config if you try to use the gdk-
pixbuf-2.0.pc file without having glib-devel installed (which contains
the gobject-2.0.pc and gmodule-no-export-2.0.pc files). Since rpm does
not pick up these dependencies on its own, you need to add an explict 

Requires: glib-devel

line to the gdk-pixbuf-devel spec portion.

As you can see, library dependencies are not the same as package
dependencies, but pkg-config does a good job of translating the former
into the latter :-(

Matthias




More information about the Fedora-maintainers mailing list