emerge --info: Portage 2.2.0_alpha177-r1 (hardened/linux/amd64, gcc-4.6.3, glibc-2.17, 2.6.32-hardened-r165 x86_64) ================================================================= System uname: Linux-2.6.32-hardened-r165-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.2 KiB Mem: 8200612 total, 761728 free KiB Swap: 987988 total, 912840 free Timestamp of tree: Mon Apr 22 07:39:43 CEST 2013 ld GNU ld (GNU Binutils) 2.23.1 app-shells/bash: 4.2_p45 dev-java/java-config: 2.2.0 dev-lang/python: 2.6.8-r2, 2.7.5-r1 dev-util/cmake: 2.8.11.1 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.12.6, 1.13.4 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.5.4, 4.6.3, 4.7.3 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.9 (virtual/os-headers) sys-libs/glibc: 2.17 Repositories: gentoo enlightenment sunrise multilib java-overlay local Installed sets: @enlightenment, @fonts ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs collision-protect distlocks ebuild-locks fixlafiles force-multilib merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms sign splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo" LANG="de_DE.UTF-8" LDFLAGS="-Wl,--as-needed -Wl,--hash-style=gnu" MAKEOPTS="-j3 --load-average=8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/enlightenment /var/lib/layman/sunrise /var/lib/layman/multilib-portage /var/lib/layman/java-overlay /usr/local/portage" SYNC="cvs://tommy@cvs.gentoo.org:/var/cvsroot" USE="3dnow X alsa amd64 berkdb cli cracklib crypt cups custom-cflags custom-cxxflags custom-optimization cxx dri gpm hardened java5 java6 justify mmx modules mudflap ncurses nls nptl nsplugin ogg openmp pam pax_kernel readline scanner session sse sse2 ssl tcpd unicode urandom v4l vorbis zlib" ALSA_CARDS="hda-intel" 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 ubx" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" MULTILIB_ABI="amd64 x86" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python2_6" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" 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" USE_PYTHON="2.6 2.7" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 355006 [details] build.log
$summary is confusing. is this multilib-portage related? does this occur with normal portage?
It's mentioned in your build.log only once, in install. It's like the this block from the ebuild is getting ignored for you with the [[ ${ABI} == ${DEFAULT_ABI} ]] multilib_src_compile() { local _java_makeopts use java && _java_makeopts="-j1" emake ${_java_makeopts} if [[ ${ABI} == ${DEFAULT_ABI} ]]; then ebegin "Building exifautotran and jpegexiforient extra tools" pushd ../debian/extra >/dev/null emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}" popd >/dev/null eend $? fi }
So, the mentioned tools are built in multilib_src_compile() for native ABI (with the multilib_is_native_abi check), and then installed in multilib_src_install_all(). Long story short, those two have different conditions applied. The conditional part of src_compile() will be executed only when current ABI is equal to whatever's defined as native ABI. The part of src_install() will be executed unconditionally, at the end of install process. Now, on a normal system this doesn't matter much since you're escaping the build directory. The native ABI conditional applies once, building the tools, and in the end install_all() catches the result. On multilib-portage, all the phases are executed for each ABI. This means that multilib_src_install_all() will be executed for non-native ABI as well, and that's why it fails -- the first condition fails, second one succeeds. So, I see two fixes that should be applied here. The ebuild should use the same conditional for _compile() and _install() -- that is, place the tool install in _install() under 'if multilib_is_native_abi'. Then we will get same conditions and no weird failures. If Tommy wants the native tools to be built for each ABI, multilib-portage either needs to override multilib_is_native_abi() ugly or set DEFAULT_ABI=$ABI for each ABI. Not sure if that's anywhere close to safe.
Thanks Michał. + 05 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> + libjpeg-turbo-1.3.0-r2.ebuild: + Use "multilib_is_native_abi" where required wrt #479614