libdrm-2.4.20-r1 failed to compile
Created attachment 242433 [details] build log Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.11.2-r0, 2.6.31-gentoo-r10 x86_64) ================================================================= System uname: Linux-2.6.31-gentoo-r10-x86_64-AMD_Athlon-tm-_64_X2_Dual-Core_Processor_TK-57-with-gentoo-1.12.13 Timestamp of tree: Tue, 10 Aug 2010 06:45:01 +0000 app-shells/bash: 4.0_p37 dev-lang/python: 2.6.5-r3, 3.1.2-r4 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.3.4, 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -ggdb -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=athlon64 -ggdb -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests cvs distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch userpriv" GENTOO_MIRRORS="http://gentoo.tiscali.nl/ http://gentoo.virginmedia.com/ http://gentoo.mneisen.org/" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gnutls gpm hal iconv ipv6 jpeg kde kpathsea lcms ldap libnotify mad mikmod mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png ppds pppd ps python qt3support qt4 readline reflection sdl session spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" 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 cgi cgid 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="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Upgrading x11-libs/cairo from 1.8.8-r1 to 1.8.10 before emerging libdrm-2.4.20-r1 fixed this problem. It looks like libdrm-2.4.20-r1 needs a dependency on >=x11-libs/cairo-1.8.10.
Thanks, that worked.
Could you attach the config.log when it fails? Thanks
Sorry, I don't have that anymore.
Created attachment 242551 [details] config.log Added config.log
*** Bug 332689 has been marked as a duplicate of this bug. ***
Ok, I hit that one too when upgrading an under-loved system of mine. I'll try to cook up a patch, but if anyone wants to beat me to it... Cheers
Imho it's because cairo.pc has a dependency on libpng12 that is determined at merge time. An upgrade of libpng from 1.2 to 1.4 breaks an existing installation of cairo. Remerge or upgrade cairo and it will work again. Versions installed on my system: cairo-1.8.8-r1 libpng-1.4.3 (upgraded from 1.2.x yesterday) Corresponding pkgconfig files: /usr/lib/pkgconfig/cairo.pc /usr/lib/pkgconfig/libpng.pc -> libpng14.pc /usr/lib/pkgconfig/libpng14.pc Problematic line in cairo.pc: Requires.private: pixman-1 >= 0.12.0 freetype2 >= 9.7.3 fontconfig libpng12 xcb >= 0.9.92 xcb-render >= 0.9.92 xcb-renderutil xrender >= 0.6 x11 Is there a way to prevent this problem or to automatically fix this?
Reassigning because it's not libdrm's fault.
*** Bug 334853 has been marked as a duplicate of this bug. ***
I'm getting this issue now after not updating my system for a long time. I had to mask cairo-1.10.2-r1 to force cairo-1.8.10 so I can emerge libdrm and libsvg-cairo.
All of the above, even downgrading to 1.8.10, did not work for me. But still cairo.h was to be found at "/usr/include/cairo". So manually compiling having "-I/usr/include/cairo" added, while using FEATURES=keepwork helped to pass the emerge process.
Also running into this now...
I think this is obvious enough. In libdrm's include/drm/Makefile: CAIRO_CFLAGS = -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/include/freetype2 -I/usr/include/libpng12 Remove local/ from the include paths. Who the heck put those there?
I got it to compile by: ln -s /usr/include /usr/local/include ln -s /usr/include/cairo/cairo-deprecated.h /usr/include/cairo-deprecated.h ln -s /usr/include/cairo/cairo-features.h /usr/include/cairo-features.h ln -s /usr/include/cairo/cairo-ft.h /usr/include/cairo-ft.h ln -s /usr/include/cairo/cairo-gl.h /usr/include/cairo-gl.h ln -s /usr/include/cairo/cairo-gobject.h /usr/include/cairo-gobject.h ln -s /usr/include/cairo/cairo-pdf.h usr/include/cairo-pdf.h ln -s /usr/include/cairo/cairo-ps.h /usr/include/cairo-ps.h ln -s /usr/include/cairo/cairo-script-interpreter.h /usr/include/cairo-script-interpreter.h ln -s /usr/include/cairo/cairo-svg.h /usr/include/cairo-svg.h ln -s /usr/include/cairo/cairo-tee.h /usr/include/cairo-tee.h ln -s /usr/include/cairo/cairo-version.h /usr/include/cairo-version.h ln -s /usr/include/cairo/cairo-xlib.h /usr/include/cairo-xlib.h ln -s /usr/include/cairo/cairo-xlib-xrender.h /usr/include/cairo-xlib-xrender.h
~ # emerge -DuNav world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] x11-libs/libdrm-2.4.25 USE="libkms -static-libs" VIDEO_CARDS="-intel -nouveau -radeon -vmware" 0 kB Total: 1 package (1 new), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) x11-libs/libdrm-2.4.25 * libdrm-2.4.25.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... ... x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/tests/modetest -I../.. -I/var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/include/drm -I/var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/libkms/ -I/var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25 -O2 -pipe -c /var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/tests/modetest/modetest.c /var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/tests/modetest/modetest.c:58:19: error: cairo.h: No such file or directory /var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/tests/modetest/modetest.c: In function 'make_pwetty': /var/tmp/portage/x11-libs/libdrm-2.4.25/work/libdrm-2.4.25/tests/modetest/modetest.c:394: error: 'cairo_surface_t' undeclared (first use in this function) ...
After downgrade to x11-libs/cairo-1.8.10 libdrm compiled successfully.
I tried Carlos's trick with symbolic links without success. I tried to roll back cairo to cairo-1.8.10, but that wasn't compatible with x11-libs/gtk+-3.0.9, which I have installed. However, installing x11-libs/libdrm-2.4.24 worked perfectly, and gtk+-3.0.9 didn't mind a bit.
Hmm.. It is strange, but after world recompilation problem with libdrm compilation disappears. Now I use cairo-1.10.2-r1 again.
I had to mask libdrm-2.4.25, emerge libdrm-2.4.24, then do the world update and then unmask libdrm-2.4.25 to compile it successfully.
libdrm requires glproto. I believe that it is a duplicate of #342393.
spatz is maintaining this now.
is this still an issue?
Either way, this seems to be a libdrm issue, not a cairo issue. Reassigning to libdrm maintainers.
*** This bug has been marked as a duplicate of bug 299008 ***