Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 182613 - Cairo 1.4.8 breaks pango and all gtk apps.
Summary: Cairo 1.4.8 breaks pango and all gtk apps.
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-19 21:17 UTC by Vladimir Lushnikov
Modified: 2007-06-28 18:27 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch for cairo-1.4.8 (cairo-1.4.8-newspr.patch,21.46 KB, patch)
2007-06-21 21:38 UTC, Pablo Trabajos
Details | Diff
updated patch for cairo-1.4.8 (cairo-updated-newspr.patch,21.22 KB, patch)
2007-06-21 21:40 UTC, Pablo Trabajos
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Lushnikov 2007-06-19 21:17:27 UTC
When starting any GTK application (say, Mousepad) - a warning similar to this is printed out:

(mousepad:24010): Pango-WARNING **: shape engine failure, expect ugly output. the offending font is 'Luxi Sans 10'

(mousepad:24010): Pango-WARNING **: pango_font_get_glyph_extens called with null font argument, expect ugly output

The ugly output in question is boxes in menus, text boxes, etc. (I used Xnest to verify as another user, because I don't want to log out anytime soon it seems...)

Reproducible: Always

Steps to Reproduce:
1. Emerge cairo-1.4.8
2. Start any GTK+ application
3. Watch it break!

Actual Results:  
Fonts are either non-rendered, or rendered as boxes. Some applications render them as square boxes (not filled, thin border) - others prefer to show them as more kind of rectangular boxes...

Expected Results:  
Fonts rendered normally.

http://forums.gentoo.org/viewtopic-t-566126-highlight-.html is a thread for others that have the same problem.
Comment 1 Pablo Trabajos 2007-06-19 22:47:05 UTC
Same problem (square boxes in all GTK text, kde apps seems unaffected). Except in my case the 'offending font' is 'Arial 9.9990234375' (sic), some other times is Bitstream Vera Font.

Portage 2.1.2.7 (default-linux/amd64/2006.1, gcc-4.1.2, glibc-2.5-r3, 2.6.20-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.20-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System release 1.12.9
Timestamp of tree: Tue, 19 Jun 2007 18:50:01 +0000
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -fPIC"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe -fPIC"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer nodoc noinfo parallel-fetch sandbox sfperms strict userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en"
LC_ALL="en"
LINGUAS="en en_GB en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="alsa amd64 berkdb bitmap-fonts cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog kdeenablefinal libg++ midi mudflap ncurses nptl nptlonly offensive openmp pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts unicode xorg zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="dmix" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="en en_GB en_US" LIRC_DEVICES="serial" USERLAND="GNU" VIDEO_CARDS="nvidia nv"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Rémi Cardona (RETIRED) gentoo-dev 2007-06-20 05:28:43 UTC
Are you mixing stable and non stable stuff? What pango version are you using? If you are mixing arch and ~arch, stuff like this is to be expected since we don't test those combinations.
Comment 3 Mart Raudsepp gentoo-dev 2007-06-20 05:36:20 UTC
Additional idea of what went wrong:
Did you perhaps upgrade pango from 1.4.x to 1.6.x and forgot to update etc files (with etc-update for example) - more specifically the /etc/pango/pango.modules file? Pango modules moved from /usr/lib/pango/1.4.0/modules to /usr/lib/pango/1.6.0/modules due to ABI changes, and the updates to /etc/pango/pango.modules reflect that - but if you don't update that then it is possible pango isn't finding stuff like the basic fontconfig shape engine...
Comment 4 Mart Raudsepp gentoo-dev 2007-06-20 05:40:49 UTC
I tested this out by making pango.modules refer to the old path, and I do also start getting then warnings like:

(gtk-demo:30281): Pango-WARNING **: pango_font_get_metrics called with null font argument, expect ugly output

but also a whole lot of spam like this:

(gtk-demo:30281): Pango-WARNING **: /usr/lib/pango/1.4.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory


So not sure if that's that, but please also check if pango.modules isn't needing updates with etc-update and report back.
Comment 5 Maxim Eremeev 2007-06-20 06:46:06 UTC
(In reply to comment #2)
> Are you mixing stable and non stable stuff? What pango version are you using?
> If you are mixing arch and ~arch, stuff like this is to be expected since we
> don't test those combinations.
> 

Well, I actually confirm the same problem with cairo-1.4.8 and GTK applications on a somewhat "pure" ~arch system. Pango version is 1.16.3. etc-update is run on a regular basis, i.e. each time portage mentions its necessity.



Comment 6 Vladimir Lushnikov 2007-06-20 10:20:06 UTC
A "pure" ~x86 system here as well. A pango upgrade hasn't happened since Jun 5th, while cairo 1.4.8 was (yesterday). I can also say that Pango 1.17.3 doesn't work with it either. /etc/pango/pango.modules file is fine - points to the correct *so's (which exist).
Comment 7 Pablo Trabajos 2007-06-20 12:36:13 UTC
(In reply to comment #2)
> Are you mixing stable and non stable stuff? What pango version are you using?
> If you are mixing arch and ~arch, stuff like this is to be expected since we
> don't test those combinations.
> 

The installed versions for pango and cairo are these ones:
x11-libs/cairo-1.4.8 & x11-libs/pango-1.14.10

I thought that your assumption about a version mismatch may had some base, but with:
x11-libs/cairo-1.4.8 & x11-libs/pango-1.16.3 (both lastest verions, ~amd64)
the problem persists.

The only working combination is:
x11-libs/cairo-1.4.6 & x11-libs/pango-1.14.10

Note than inevery combination I assured /etc was up-to-date.

Regards.
Comment 8 Mart Raudsepp gentoo-dev 2007-06-21 15:14:39 UTC
Did you restart X after upgrading cairo?
Comment 9 Maxim Eremeev 2007-06-21 17:10:38 UTC
(In reply to comment #8)
> Did you restart X after upgrading cairo?
> 

I tried restarting (that was, actually, the first idea that came up to mind). It did not help though.
Comment 10 Pablo Trabajos 2007-06-21 20:34:14 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > Did you restart X after upgrading cairo?
> > 
> 
> I tried restarting (that was, actually, the first idea that came up to mind).
> It did not help though.
> 

I did, too. Didn't help. In the thread the reporter talks about there is a solution applying a patch for cairo-1.4.8 which fixed it for me and others.
Comment 11 Rémi Cardona (RETIRED) gentoo-dev 2007-06-21 21:00:15 UTC
Posting the patch here would help :)
Comment 12 Pablo Trabajos 2007-06-21 21:38:52 UTC
Created attachment 122738 [details, diff]
Patch for cairo-1.4.8

These are the patches in the xeffects overlay. I think these are what make it work.
Comment 13 Pablo Trabajos 2007-06-21 21:40:02 UTC
Created attachment 122739 [details, diff]
updated patch for cairo-1.4.8

And patch 2.
Comment 14 Rémi Cardona (RETIRED) gentoo-dev 2007-06-21 21:53:02 UTC
This patch is huuuge. Unless this patch is okay-ed upstream, I don't think any of us will want to apply this as-is.

Reading some of the comments in the forum posts, here's what I'd advise :

- backup /etc/fonts/
- emerge -1 fontconfig

Maybe that'll help
Comment 15 Rémi Cardona (RETIRED) gentoo-dev 2007-06-21 21:53:33 UTC
that should have been : backup and remove /etc/fonts
Comment 16 Mart Raudsepp gentoo-dev 2007-06-22 05:07:50 UTC
None of us will apply this indeed, as this isn't maintained by gnome.
Reassigning to cairo maintainers so they can take a look and give their opinion of this.
Comment 17 Maxim Eremeev 2007-06-22 12:46:53 UTC
(In reply to comment #15)
> that should have been : backup and remove /etc/fonts
> 

Well, these manipulations, i.e. removing /etc/fonts and re-emerging fontconfig do not help either. However, the version from xeffects overlay works all right for me.
Comment 18 Doug Goldstein (RETIRED) gentoo-dev 2007-06-22 13:52:58 UTC
These are huge patches that change the behavior of font rendering. I have not even seen these submitted upstream at all. Before applying patches of this nature I would expect to see them upstream for at least some review by upstream.
Comment 19 Vladimir Lushnikov 2007-06-22 21:27:43 UTC
Who would be then the appropriate person to contact upstream? (Sorry, English is ambiguous - who in the Gentoo community would be appropriate to contact upstream for max. effect?)
Comment 20 Doug Goldstein (RETIRED) gentoo-dev 2007-06-28 18:27:08 UTC
No one in the Gentoo community would be upstream. Upstream would be the cairo maintainers. You want to change a large chunk of cairo code, that should be submitted to the cairo people.

http://www.cairographics.org