Bug#582865: [libglib2.0-dev] pkg-config requires too many libraries
Simon McVittie
smcv at debian.org
Mon Jul 28 11:02:34 UTC 2014
tags 582865 + wontfix
thanks
On Mon, 24 May 2010 at 11:29:26 +0200, Peter Fritzsche wrote:
> I checked your /usr/lib/pkgconfig/gmodule-2.0.pc and noticed that there is a
> Require statement with many other pkg-config files. libgmodule-2.0.so.0.2400.1
> doesn't seem have have so have unresolved symbols. So either the header files
> generate code which creates otherwise unresolved symbols or you don't use
> Require in /usr/lib/pkgconfig/gtk+-2.0.pc correctly. Please see the difference
> with Require.private in gmodule-2.0:
For better or worse, GLib upstream intend for the ABI of the GLib cluster
of libraries to be "if you use the pkg-config for one, you can rely on
having the API and ABI of the ones lower in the stack". So
a pkg-config check for gio-2.0 gives you all of GIO, GObject, GLib,
GThread.
> It
> should cleanup many dependencies in our repository which aren't needed at all
GLib, GObject, GIO, GModule and GThread are all one big library package
(libglib2.0-0) so dpkg-shlibdeps is incorrect here: the dependency could not
be avoided, because there is no additional dependency.
I opened <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689603> for this
some time ago.
> Maybe someone can check too why -pthread and -lrt is needed. I don't see a
> reason here.
-pthread might well be specifically needed to allow dlopen() to load
GLib things into previously non-threaded processes:
# NB: do NOT use -Wl,--as-needed to build glib; for instance the link to
# pthread is carefully crafted to allow dlopen()ing pthread-using libs; see
# http://mid.gmane.org/1257999019.21780.15.camel@marzipan
LDFLAGS += -Wl,--no-as-needed
(<http://article.gmane.org/gmane.comp.gnome.gtk+.devel.general/18117> is
another route to the same mail.)
I don't know about -lrt; that one might be unnecessary.
Again, these do not actually cause any extra dependencies: libc, librt
and libpthread are all part of libc6 (or libc6.1 or libc0.1, if that's
where the architecture's libc is kept).
In practice I think this is wontfix for Debian's GLib maintainers; tagging
accordingly. If you would like this to be changed upstream, please discuss
it upstream (in GNOME).
S
More information about the pkg-gnome-maintainers
mailing list