Bug#522675: libpango1.0-0: pango 1.24 binary incompatible with 1.22
Marc Lehmann
debian-reportbug at plan9.de
Sun Apr 5 19:22:34 UTC 2009
Package: libpango1.0-0
Version: 1.24.0-2
Severity: normal
after upgrading to libgpango 1.24, my applications started to crash like
this:
(process:19388): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
(process:19388): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
(process:19388): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='hiragana'
./deliantra: line 6: 19388 Segmentation fault (core dumped)
The reason is coimmit 9305b9a9995e84ace3818a90346820ef8c47a3ce to pango:
[pangofc] Add a "fontmap" property to PangoFcFont
Gecko uses its own PangoFcFontMap subclass with its own
PangoFontSet. Previously we were setting font->fontmap in our
own private PangoFcFontSet. Now it's up to the PangoFcFont
subclass to set it when creating the new font object.
applications subclassing the public pangofc api that did work properly
will now fail. The problem is that doing what the patch suggests works
with 1.24, but fails with 1.22:
Pango:ERROR:/tmp/buildd/pango1.0-1.22.4/pango/pangofc-fontmap.c:559:pango_fc_font_map_add: assertion failed: (fcfont->fontmap == NULL)
So, while adding:
#if PANGO_VERSION_CHECK (1, 23, 1)
PANGO_FC_FONT (font)->fontmap = fontmap;
#endif
makes the program work, you need a recompile betwene 1.22 and 1.24, as
1.22 checks that the fontmap is 0, and 1.24 requires it to be non-null.
This makes it hard (nothing short of a run-time check possible) to create
binaries that work with 1.22 and 1.24.
(My understanding of this might be wrong, but such a big incompatible
api change deserves at leats a better error message, especially when
older versions of pango explicitly made setting the fontmap illegal by an
assertions).
-- System Information:
Debian Release: 5.0
APT prefers stable
APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages libpango1.0-0 depends on:
hi libc6 2.7-18 GNU C Library: Shared libraries
ii libcairo2 1.8.6-2+b1 The Cairo 2D vector graphics libra
ii libdatrie0 0.1.3-2 Double-array trie library
ii libfontconfig1 2.6.0-3 generic font configuration library
hi libfreetype6 2.3.7-2 FreeType 2 font engine, shared lib
ii libglib2.0-0 2.20.0-2 The GLib library of C routines
ii libpango1.0-common 1.24.0-2 Modules and configuration files fo
ii libthai0 0.1.9-4 Thai language support library
ii libx11-6 2:1.2-1 X11 client-side library
ii libxft2 2.1.12-3 FreeType-based font drawing librar
ii libxrender1 1:0.9.4-2 X Rendering Extension client libra
ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime
libpango1.0-0 recommends no packages.
libpango1.0-0 suggests no packages.
-- no debconf information
More information about the pkg-gnome-maintainers
mailing list