User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.5) Gecko/20060906 Firefox/1.5.0.5 Build Identifier: yelp-2.16.1 fails to compile with the following message: /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_pdf_surface_create' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_surface_set_fallback_resolution' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_ps_surface_set_size' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_surface_get_type' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_pdf_surface_create_for_stream' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_pdf_surface_set_size' collect2: ld returned 1 exit status I had cairo-1.0.4-r1 (latest stable) installed which does not have the pdf useflag that yelp requires. The newer >=cairo-1.2 (unstable) does have the pdf use flag. I compiled cairo-1.2.4 with the pdf useflag and yelp compiled successfully. My suggestion would be for yelp to require >=cairo-1.2 with pdf use flag. Reproducible: Always Steps to Reproduce: 1. Use latest stable cairo (cairo-1.0.4-r1) 2. emerge yelp Actual Results: /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_pdf_surface_create' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_surface_set_fallback_resolution' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_ps_surface_set_size' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_surface_get_type' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_pdf_surface_create_for_stream' /usr/lib64/libgtk-x11-2.0.so: undefined reference to `cairo_pdf_surface_set_size' collect2: ld returned 1 exit status make[3]: *** [yelp] Error 1 make[3]: Leaving directory `/var/tmp/portage/yelp-2.16.1/work/yelp-2.16.1/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/yelp-2.16.1/work/yelp-2.16.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/yelp-2.16.1/work/yelp-2.16.1' make: *** [all] Error 2 !!! ERROR: gnome-extra/yelp-2.16.1 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile ebuild.sh, line 1255: Called gnome2_src_compile gnome2.eclass, line 64: Called die !!! compile failure !!! If you need support, post the topmost build error, and the call stack if relevant. Expected Results: yelp should compile Workaround: Add cairo to portage.keywords and upgrade to newest version of cairo.
Try rebuilding gtk+, it'll probably solve this issue.
I'd have a better suggestion - don't mix unstable gtk+ with stable cairo (same for the rest of your Gnome stuff).
yelp deps on gtk+-2.10, which checks if you have compiled cairo with pdf and X use flags. What version of gtk+ did you have installed? You should not have been able to emerge yelp without compiling gtk+-2.10.x which should have failed when checking for cairo compiled with X and pdf use flags.
Today I did a emerge --sync and the newer cairo is now being pulled in. According to the gtk+-2.10.6 ebuild (which is the version i am using) it should have pulled in >=x11-libs/cairo-1.2.0 which it for some reason didn't. Perhaps this bug is due to some local problem at my computer. Everything appears to be working now. I'm quite new to bugzilla, should i mark this as INVALID or is that a task for someone else?
marking wfm per reporters comments.