Package: libmimic0
Version: 1.0.4-1
Severity: serious
Justification: Policy 10.2
Hi,
libmimic0.so doesn't link to glib, but is using some of its symbols.
This leads to unresolvable symbols when using the library.
Quoting from policy:
Although not enforced by the build tools, shared libraries must be
linked against all libraries that they use symbols from in the same
way that binaries are. This ensures the correct functioning of the
shlibs system and guarantees that all libraries can be safely opened
with `dlopen()'. Packagers may wish to use the gcc option
`-Wl,-z,defs' when building a shared library. Since this option
enforces symbol resolution at build time, a missing library reference
will be caught early as a fatal build error.
I'll attach a patch fixing this.
Cheers,
Emilio
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.30-1-686 (SMP w/2 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libmimic0 depends on:
ii libc6 2.9-19 GNU C Library: Shared libraries
libmimic0 recommends no packages.
libmimic0 suggests no packages.
-- no debconf information
--- libmimic-1.0.4/configure.ac 2006-02-07 10:57:39.000000000 +0100
+++ libmimic-1.0.4.new/configure.ac 2009-07-09 19:15:43.000000000 +0200
@@ -61,8 +61,10 @@ AC_MSG_RESULT(yes)
dnl Check for libraries.
PKG_CHECK_MODULES(GLIB, glib-2.0,
- [GLIB_CFLAGS="-DG_DISABLE_DEPRECATED=1 $GLIB_CFLAGS"],
+ [],
AC_MSG_ERROR(Cannot find glib-2.0))
+AC_SUBST(GLIB_CFLAGS)
+AC_SUBST(GLIB_LIBS)
dnl Check for header files.
AC_STDC_HEADERS
--- libmimic-1.0.4/src/Makefile.am 2006-02-07 10:53:40.000000000 +0100
+++ libmimic-1.0.4.new/src/Makefile.am 2009-07-09 19:25:15.000000000 +0200
@@ -1,5 +1,3 @@
-INCLUDES = @GLIB_CFLAGS@
-
libmimicincludedir = $(includedir)
libmimicinclude_HEADERS = mimic.h
@@ -17,6 +15,7 @@ libmimic_la_SOURCES = \
colorspace.c \
deblock.c \
mimic-private.h
+libmimic_la_CFLAGS = $(GLIB_CFLAGS) $(GLIB_LIBS)
libmimic_la_LDFLAGS = \
-version-info $(MIMIC_CURRENT):$(MIMIC_REVISION):$(MIMIC_AGE) \
-export-symbols-regex "^[^_].*"