Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 511614 - x11-libs/libdrm-2.4.54: building with abi_x86_32 fails: "/usr/include/cairo/cairo-features.h:13:3: error: #error "abi_x86_32 not supported by the package.""
Summary: x11-libs/libdrm-2.4.54: building with abi_x86_32 fails: "/usr/include/cairo/c...
Status: RESOLVED DUPLICATE of bug 509556
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
Depends on:
Reported: 2014-05-27 12:58 UTC by PM
Modified: 2014-05-27 15:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

build log (build.log,41.84 KB, text/x-log)
2014-05-27 13:00 UTC, PM

Note You need to log in before you can comment on or make changes to this bug.
Description PM 2014-05-27 12:58:57 UTC
In file included from /usr/include/cairo/cairo.h:42:0,
                 from /var/tmp/portage/x11-libs/libdrm-2.4.54/work/libdrm-2.4.54/tests/modetest/buffers.c:43:
/usr/include/cairo/cairo-features.h:13:3: error: #error "abi_x86_32 not supported by the package."
 # error "abi_x86_32 not supported by the package."
Makefile:430: recipe for target 'buffers.o' failed

Reproducible: Always

Portage 2.2.10 (default/linux/amd64/13.0/desktop, gcc-4.8.2, glibc-2.19, 3.14.4-gentoo x86_64)
System uname: Linux-3.14.4-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9450_@_2.66GHz-with-gentoo-2.2
KiB Mem:     4044060 total,   1530712 free
KiB Swap:    4095996 total,   4095880 free
Timestamp of tree: Tue, 27 May 2014 12:00:01 +0000
ld GNU ld (GNU Binutils) 2.24
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p47
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.6-r1, 3.2.5-r4, 3.3.5, 3.4.0
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.4_p6-r1, 1.11.6, 1.14.1
sys-devel/binutils:       2.24-r2
sys-devel/gcc:            4.6.4, 4.7.3-r1, 4.8.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.14 (virtual/os-headers)
sys-libs/glibc:           2.19
Repositories: gentoo multimedia sunrise steam-overlay roslin qt dupa
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-O2 -march=native -pipe -ggdb"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.1/conf /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /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="-O2 -march=native -pipe -ggdb"
EMERGE_DEFAULT_OPTS="--keep-going --quiet-build=n --autounmask-write"
FCFLAGS="-O2 -march=native -pipe -ggdb"
FEATURES="assume-digests binpkg-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles installsources merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -march=native -pipe -ggdb"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/usr/local/portage/layman/multimedia /usr/local/portage/layman/sunrise /usr/local/portage/layman/steam /usr/local/portage/layman/roslin /usr/local/portage/layman/qt /usr/local/portage/moje"
USE="X Xaw3d a52 aac aalib acl acpi adobe-cff alsa amd64 amr amrnb amrwb apng async audiofile automount avahi avresample bash-completion berkdb bfq bineditor bluetooth bluray branding bzip2 c++0x cairo cdda cddb cdparanoia cdr chdir clang cli consolekit cracklib crypt css cuda cups curl cxx dbus dirac disk-partition divx djvu dri dts dvd dvdr ebook editor emboss emovix enca encode exchange exif faac faad fam fat fdk ffmpeg fftw firefox firefox3 flac fontconfig fortran g3dvl gd gdbm geoip gif glitz gmedia gnuplot gphoto2 gpm gtk hddtemp iconv id3 id3tag imagemagick inotify iostats ipod jpeg kde kde4 kdehiddenvisibility kipi kompare kpathsea kqemu ladspa lame laptop lastfm latex lcms libass libcaca libnotify libsamplerate lm_sensors lto lzma lzo mad matroska midi mjpeg mmap mmx mmxext mng modules moodbar mp3 mp3tunes mp4 mpeg mplayer mtp multilib musicbrainz ncurses networkmanager nls nptl nsplugin ntfs nvidia ogg okteta openal opencl opencore-amr opengl openmp optimized-qmake opus pam pango pch pcre pdf plasma png policykit portage ppds private-headers pulseaudio qt3 qt3support qt4 qthelp raster readline realmedia roe scanner schroedinger sdl secure-delete semantic-desktop sensord session shaders slang sndfile solver soundtouch sourceview sparse spell sse sse2 sse3 sse4 sse41 sse4_1 sse4a ssl ssse3 startup-notification steamruntime suid svg swat symlink syslog tcpd theora threads tiff truetype udev udisks unicode upnp upower usb vaapi vamp vcd vdpau vorbis wifi wmf wmp wxwidgets wxwindows x264 xcb xcomposite xml xscreensaver xv xvid xvmc zeroconf zlib" ABI_X86="64" 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" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia" 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"
Comment 1 PM 2014-05-27 13:00:21 UTC
Created attachment 377706 [details]
build log
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 13:13:46 UTC
For completeness, please post the output of:

  emerge -pv cairo

or otherwise, the USE flags on your installed cairo.
Comment 3 PM 2014-05-27 13:35:25 UTC
Ah, right, it's not built with abi_x86_32. Rebuilding it with this flag fixes the problem.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 13:41:08 UTC
This is somewhat similar to the cairo issue. Here cairo is used for some optional tests, so the ebuild author didn't add it to DEPEND and the tests are supposed to be run if cairo is installed. But for some reason, configure finds 32-bit pkg-config file for it on your system...

I'll try to reproduce this.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 13:45:18 UTC
I can't reproduce. Any chance you have been using crossdev w/ i686-pc-linux-gnu?
Comment 6 PM 2014-05-27 13:53:34 UTC
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 14:12:55 UTC
Would you be able to get a config.log off the original failure?
Comment 8 PM 2014-05-27 14:20:57 UTC
Sorry, I don't have it anymore. Trying to reproduce it myself now I ran into some weird blocks when trying to rebuild cairo without x86_32 and I don't have time to deal with them now.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 14:38:22 UTC
Ok, for another test:

  i686-pc-linux-gnu-pkg-config --help

does it mention 'lib32' or 'lib64' on the bottom?
Comment 10 PM 2014-05-27 14:39:58 UTC
I don't have that in my PATH at all.
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 14:59:48 UTC
Then I'm afraid we'd really use build.log and config.log with PKG_CONFIG_DEBUG_SPEW=1 like:

    ABI_X86=64 emerge -1v --nodep cairo
    PKG_CONFIG_DEBUG_SPEW=1 emerge -1v --nodep libdrm

The '--nodep' will allow portage to ignore blockers. Later on, you will want to rebuild cairo back to both ABIs.
Comment 12 PM 2014-05-27 15:08:52 UTC
Tried that, now libdrm build without a hiccup. There was a bunch of packages that were rebuilt with abi_x86_32 when I originally rebuilt cairo. Here's the list:

     Tue May 27 15:27:32 2014 >>> x11-libs/gdk-pixbuf-2.30.7-r1
     Tue May 27 15:28:17 2014 >>> x11-libs/pixman-0.32.4
     Tue May 27 15:28:44 2014 >>> media-libs/imlib-1.9.15-r4
     Tue May 27 15:31:01 2014 >>> x11-libs/cairo-1.12.16-r3
     Tue May 27 15:31:24 2014 >>> media-gfx/graphite2-1.2.4-r1
     Tue May 27 15:32:05 2014 >>> media-libs/harfbuzz-0.9.28
     Tue May 27 15:32:54 2014 >>> x11-libs/pango-1.36.3-r2
     Tue May 27 15:33:12 2014 >>> x11-libs/pangox-compat-0.0.2-r1
     Tue May 27 15:33:28 2014 >>> app-emulation/emul-linux-x86-gtklibs-20140508
     Tue May 27 15:35:12 2014 >>> x11-libs/libdrm-2.4.54

Perhaps one of those was the culprit?
Comment 13 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 15:15:18 UTC
Did you happen to have 32-bit cairo provided by emul-linux-x86-gtklibs[-abi_x86_32]? If yes, then it would be the temporary issue where headers installed by cairo were unsuitable for libraries provided by emul-linux.
Comment 14 PM 2014-05-27 15:24:24 UTC
I honestly have no idea. As far as I'm concerned this whole multilib system is a big black box that sometimes breaks, and then you poke it with a stick randomly until it starts working again. 

If you think it's a temporary issue (i.e. "will fix itself"), then I'm fine with leaving it at that.
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-27 15:35:37 UTC
Well, as many other Gentoo issues this one fixes itself when you 'emerge -e @world' to rebuild all packages :). It applies to all people who have built some packages in a short period of time when there was bug in the eclass, and is fixed by rebuilding the buggy deps. Just to be clear, if you rebuilt cairo without changing USE flags, it would likely work as well.

*** This bug has been marked as a duplicate of bug 509556 ***