Bug#582865: [libglib2.0-dev] pkg-config requires too many libraries
Peter Fritzsche
peter.fritzsche at gmx.de
Mon May 24 09:29:26 UTC 2010
Package: libglib2.0-dev
Version: 2.24.1-1
Severity: normal
I tried to package some software which uses gmodule-2.0 and libgobject-2.0.
Now dpkg-shlibdeps just hammers my output with messages like
dependency on xxxx could be avoided if ....
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:
$ pkg-config --cflags gobject-2.0 gmodule-2.0
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include+
$ pkg-config --libs gobject-2.0 gmodule-2.0
-Wl,--export-dynamic -pthread -lgobject-2.0 -lgmodule-2.0 -lrt
How it looks now:
$ pkg-config --cflags gobject-2.0 gmodule-2.0
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
$ pkg-config --libs gobject-2.0 gmodule-2.0
-pthread -Wl,--export-dynamic -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -lrt -
lglib-2.0
So the cflags are untouched, but the libs are a lot cleaner for non static
compilations. Please change it to Require.private or give a good reason not to
do so (broken build systems of other applications are no good reason). It
should cleanup many dependencies in our repository which aren't needed at all
and only happens due to gmodule's and gobject's bad pkg-config file.
Maybe someone can check too why -pthread and -lrt is needed. I don't see a
reason here.
--- System information. ---
Architecture: amd64
Kernel: Linux 2.6.32-5-amd64
Debian Release: squeeze/sid
500 unstable ftp.uni-kl.de
500 unstable ftp.debian.org
1 experimental ftp.debian.org
--- Package information. ---
Depends (Version) | Installed
=============================-+-=============
libc6 (>= 2.2.5) | 2.10.2-9
libpcre3 (>= 7.7) | 8.02-1
libglib2.0-0 (= 2.24.1-1) | 2.24.1-1
pkg-config (>= 0.14.0) | 0.24-1
zlib1g-dev | 1:1.2.3.4.dfsg-3
Recommends (Version) | Installed
=========================-+-===========
python | 2.5.4-9
Suggests (Version) | Installed
=============================-+-===========
libglib2.0-doc |
More information about the pkg-gnome-maintainers
mailing list