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.
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
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.
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...
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.
(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.
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).
(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.
Did you restart X after upgrading cairo?
(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.
(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.
Posting the patch here would help :)
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.
Created attachment 122739 [details, diff] updated patch for cairo-1.4.8 And patch 2.
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
that should have been : backup and remove /etc/fonts
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.
(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.
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.
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?)
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