Updating cairo from 1.1.6 to 1.1.6-r1, I ran into the following error: x86_64-pc-linux-gnu-gcc -march=k8 -O2 -pipe -ggdb -o .libs/imagediff imagediff.o ./.libs/libcairotest.a ../src/.libs/ libcairo.so /usr/lib64/libfreetype.so /usr/lib64/libxml2.so -lz /usr/lib64/libglitz-glx.so -L/usr/lib64 /usr/lib64/lib Xau.so /usr/lib64/libXdmcp.so /usr/lib64/libGL.so /usr/lib64/libX11.so /usr/lib64/libXext.so -ldl /usr/lib64/libglitz. so -lpthread -lm ./.libs/libcairotest.a(cairo-test.o): In function `create_xlib_surface': /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/cairo-test.c:1077: undefined reference to `XRenderFindStandardFo rmat' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/cairo-test.c:1080: undefined reference to `XRenderFindStandardFormat' ./.libs/libcairotest.a(read-png.o): In function `read_png_argb32': /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:111: undefined reference to `png_check_sig' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:118: undefined reference to `png_create_read_struct' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:128: undefined reference to `png_create_info_struct' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:131: undefined reference to `png_destroy_read_struct' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:136: undefined reference to `png_init_io' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:137: undefined reference to `png_set_sig_bytes' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:139: undefined reference to `png_read_info' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:141: undefined reference to `png_get_IHDR' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:157: undefined reference to `png_get_valid' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:174: undefined reference to `png_set_bgr' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:175: undefined reference to `png_set_filler' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:177: undefined reference to `png_set_read_user_transform_fn' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:179: undefined reference to `png_read_update_info' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:188: undefined reference to `png_read_image' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:189: undefined reference to `png_read_end' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:194: undefined reference to `png_destroy_read_struct' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:172: undefined reference to `png_set_interlace_handling' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:169: undefined reference to `png_set_gray_to_rgb' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:164: undefined reference to `png_set_packing' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:158: undefined reference to `png_set_tRNS_to_alpha' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:161: undefined reference to `png_set_strip_16' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:151: undefined reference to `png_set_palette_to_rgb' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/read-png.c:155: undefined reference to `png_set_gray_1_2_4_to_8' ./.libs/libcairotest.a(write-png.o): In function `write_png_argb32': /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/write-png.c:73: undefined reference to `png_create_write_struct' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/write-png.c:74: undefined reference to `png_create_info_struct' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/write-png.c:76: undefined reference to `png_init_io' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/write-png.c:77: undefined reference to `png_set_IHDR' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/write-png.c:87: undefined reference to `png_set_bKGD' /var/tmp/portage/cairo-1.1.6-r1/work/cairo-1.1.6/test/write-png.c:89: undefined reference to `png_set_write_user_transform_fn' This happened with nvidia (1.0.8762) as the active opengl. I eselected mesa instead and tried again, and this time the build succeeded. Portage 2.1_rc4 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.16-ck11 x86_64) ================================================================= System uname: 2.6.16-ck11 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0 ccache version 2.4 [enabled] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r1 dev-util/confcache: 0.4.2-r1 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r1, 2.16.93 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.16 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe -ggdb" 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/lib64/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe -ggdb -ffriend-injection" DISTDIR="/var/portage/distfiles" EMERGE_DEFAULT_OPTS="" FEATURES="autoconfig ccache confcache distlocks parallel-fetch sandbox sfperms splitdebug strict" GENTOO_MIRRORS="http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.osuosl.org/ " LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LINGUAS="en" PKGDIR="/var/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--timeout=120" 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'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/gentopia /usr/local/bmg-main /usr/local/xgl-coffee /usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="amd64 X aac alsa avi bash-completion berkdb bitmap-fonts bzip2 cairo cdr cli crypt cups dbus debug dri dvd dvdr eds emboss encode esd firefox flac foomaticdb fortran gdbm gif glitz gnome gpm gstreamer gtk gtk2 hal imlib ipv6 isdnlog java jpeg kde kdehiddenvisibility ldap lzw lzw-tiff mad mono mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre pdflib perl pic png pppd python qt quicktime readline reflection ruby samba sdl session spell spl sqlite ssl tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales vorbis xml xml2 xorg xpm xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_en userland_GNU video_cards_vesa video_cards_nvidia" Unset: CTARGET, INSTALL_MASK, LDFLAGS, MAKEOPTS
Makes almost no sense to me that nvidia & mesa would matter. The undefined references are defined in "png.h" which is libpng. The issue there though is linking. Something's missing png support somewhere... but then you also have the Xrender issue... Did you just upgrade to the new Xorg server (7.1 from 7.0 release)? Maybe everything didn't finish rebuilding properly. try revdep-rebuild and emerge -auDv --newuse world
I've had the new xorg-server masked since the first release candidate with the ABI change as it crashes on my system with nvidia. I posted the sticky on that subject (as sternklang). A week or so ago I rebuilt my system with gcc 4.1.1+linux-headers 2.16.6. Then I unmasked expat-2.0.0 and ran revdep-rebuild to take care of that breakage, then ran revdep-rebuild one more time to ensure link consistancy. So this was a clean system when I tried the cairo update. So I just now tried to reproduce this with nvidia-glx and this time it succeeded. 8-p
Reporter says that it emerged fine (I don't have this issue on my machine with an NVidia card)