This bug is really a backport of a fix reported in http://bugs.freedesktop.org/show_bug.cgi?id=20005 which I stumbled upon while compiling cairo with a 64-bit toolchain in OSX. I'll attach the patchfile below. It applies, and it works. Reproducible: Always Steps to Reproduce: $ emerge --info Portage 2.2.00.13629-prefix (prefix/darwin/macos/10.5/x64, gcc-4.2.1, unavailable, 9.7.1 i386) ================================================================= System uname: Darwin-9.7.1-i386-64bit Timestamp of tree: Sat, 20 Jun 2009 23:01:48 +0000 distcc 2.18.5-Apple.1 i386-apple-darwin9.0 (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 4.0_p24 dev-lang/python: 2.6.2-r01.1 dev-python/pycrypto: 2.0.1-r8 sys-devel/autoconf: 2.63-r01.1 sys-devel/automake: 1.9.6-r2, 1.10.2-r00.1, 1.11 sys-devel/gcc-config: 1.4.1-r00.2 sys-devel/libtool: 2.2.6a-r00.1 ACCEPT_KEYWORDS="~x64-macos" CBUILD="x86_64-apple-darwin9" CFLAGS="-O2 -pipe -march=nocona -msse4.1" CHOST="x86_64-apple-darwin9" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -pipe -march=nocona -msse4.1" DISTDIR="/Users/jacob/Library/Gentoo/usr/portage/distfiles" EPREFIX="/Users/jacob/Library/Gentoo" FEATURES="assume-digests collision-protect distlocks fixpackages nostrip parallel-fetch preserve-libs protect-owned sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.UTF-8" LDFLAGS="" MAKEOPTS="-j3" PKGDIR="/Users/jacob/Library/Gentoo/usr/portage/packages" PORTAGE_CONFIGROOT="/Users/jacob/Library/Gentoo/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/Users/jacob/Library/Gentoo/var/tmp" PORTDIR="/Users/jacob/Library/Gentoo/usr/portage" PORTDIR_OVERLAY="/Users/jacob/Library/Gentoo/usr/local/portage" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="a52 aac aqua bash-completion cjk coreaudio cracklib divx fac midi mmx mmxext ncurses objc objc++ prefix readline sse sse2 ssl theora unicode x64-macos xulrunner xvid zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="Darwin" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 195339 [details, diff] cairo 64-bit patch
Created attachment 195341 [details] Failed build.log for x11-libs/cairo-1.8.6-r1 Just for the record ;)
Another thing to note: this is a prefix'ed system, but I think it's a good idea to patch "upstream" so it fixes the bug for everyone in Gentoo, until the fix in official Cairo is released.
Thanks for posting the fix! Assigning to maintainer.
This is fixed in the 1.8.8 ebuild in the tree already. Thanks for the patch Jacob.