I've only tested this on a MacOS prefix install but it appears to be an issue with all non-multilib architectures. x11-proto/xcb-proto-1.8-r3 fails in the compile phase due to the following buld directory not being created in the configure phase 'top_builddir="${WORKDIR}/${P}-${ARCH}"' On my MacOS prefix, the ebuild is looking for 'xcb-proto-1.8-x64-macos', what was created was 'xcb-proto-1.8-default' Reproducible: Always Steps to Reproduce: 1. emerge =x11-proto/xcb-proto-1.8-r3 2. 3. Actual Results: Compile phase fails due to missing directory Expected Results: Compiled and installed $ emerge --info Portage 2.2.01.21938-prefix (prefix/darwin/macos/10.8/x64, gcc-4.2.1, unavailable, 12.3.0 x86_64) ================================================================= System uname: Darwin-12.3.0-x86_64-i386-64bit Timestamp of tree: Wed, 22 May 2013 22:06:14 +0000 app-shells/bash: 4.2_p39-r1 dev-lang/python: 2.7.4, 3.2.3-r2, 3.3.0-r1 dev-util/pkgconfig: 0.28 sys-devel/autoconf: 2.69 sys-devel/automake: 1.12.4 sys-devel/gcc-config: 1.8-r00.1 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 Repositories: gentoo_prefix local ACCEPT_KEYWORDS="~x64-macos" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-apple-darwin12" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-apple-darwin12" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/Users/pvarner/Library/Gentoo/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y" FCFLAGS="" FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news nostrip preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-dead_strip_dylibs" MAKEOPTS="-j8" PKGDIR="/Users/pvarner/Library/Gentoo/usr/portage/packages" PORTAGE_CONFIGROOT="/Users/pvarner/Library/Gentoo/" 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="/Users/pvarner/Library/Gentoo/var/tmp" PORTDIR="/Users/pvarner/Library/Gentoo/usr/portage" PORTDIR_OVERLAY="/Users/pvarner/Library/Gentoo/usr/local/portage/local" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="coreaudio cracklib cxx ipv6 mmx mmxext modules ncurses nls objc objc++ prefix readline sse sse2 ssl svg unicode x64-macos zlib" 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="Darwin" 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="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" 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" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 348995 [details] build.log
Created attachment 348997 [details] eclass-debug.log
[Works fine on a no-multilib amd64 profile so I guess the scope isn't as broad as you assumed.]
I have a similar issue: 'emerge xcb-proto' fails here with: >>> Working in BUILD_DIR: "/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-python3_2" make -C xcbgen top_builddir=/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-x86 make: Entering directory `/var/tmp/portage_extra/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-python3_2/xcbgen' cd /var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-x86 && make am--refresh /bin/sh: line 0: cd: /var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-x86: No such file or directory root@tiger:/root(16)# emerge --info '=x11-proto/xcb-proto-1.8-r3' Portage 2.1.12.1 (default/linux/x86/13.0/desktop, gcc-4.7.3, glibc-2.17, 3.8.1 i686) ================================================================= System Settings ================================================================= System uname: Linux-3.8.1-i686-Intel-R-_Pentium-R-_4_CPU_1.60GHz-with-gentoo-2.2 KiB Mem: 2009336 total, 766468 free KiB Swap: 6291452 total, 6233572 free Timestamp of tree: Thu, 23 May 2013 05:00:01 +0000 ld GNU ld (GNU Binutils) 2.23.1 app-shells/bash: 4.2_p45 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.7.4, 3.2.4, 3.3.2 dev-util/cmake: 2.8.10.2-r2 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.9.6-r3, 1.10.3, 1.11.6, 1.12.6, 1.13.2 sys-devel/binutils: 2.23.1 sys-devel/gcc: 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 science x11 java-overlay local x-cpan g-octave Installed sets: @system ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype-4.0.0.7-copyright googleearth AdobeFlash-11.x cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.4/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=pentium4 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -march=i686 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr" FFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ " LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" 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/science /var/lib/layman/x11 /var/lib/layman/java-overlay /usr/local/portage /var/lib/cpan /var/lib/g-octave" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="R X Xaw3d a52 aac acl acpi admin afs alsa ao apache2 apng applet archive arpack asf aspell assistant atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth bluray boo boost branding bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli consolekit corba cracklib crypt css cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia dirac djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras faac faad fam ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpm fpx fts3 fuse g3dvl gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp git glade glib glpk gml gmp gnome gnome-keyring gnome-print gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gsm gstreamer gtk gtk3 gudev guile harness hddtemp hdf hdf5 hdri html http httpd hwdb iconv icq icu id3 id3tag ide imagemagick imap inotify ipod ipv6 irda ithreads jabber jadetex java java6 jbig john jpeg jpeg2k kate kdrive kerberos keymap kpathsea kqemu ladspa lame lapack latex lcms ldap lensfun libffi libkms libnotify libsamplerate lirc live lm_sensors lua lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mmx mmxext mng mod modules mono motif mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap musepack musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nsplugin ntfs ntp numpy obex objc ocaml ocr octave odbc ofa ogdi ogg openexr opengl openmp overview pae pam pango pcre pda pdf perl plasma plotutils plugins png podcast policykit portaudio posix postgres postscript ppds preview-latex proj projectm projectx pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime raw readline reiserfs reports rhythmbox rle romio rpc rrdcgi rrdtool samba sasl schroedinger science sdk sdl secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets sound soup sox speex spell sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion sudo suexec svg svm swig szip t1lib tcl tcpd tex tex4ht texmacs tgif theora thesaurus threads thunderbird tidy tiff tk tools truetype udev udisks unicode upower usb userlocales utempter v4l vaapi vala vdpau video virtualbox visio vorbis wav webdav webdav-serf webkit wmf wxwidgets x264 x86 xa xattr xcb xemacs xetex xext xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zvbi" ABI_X86="32" ALSA_CARDS="via82xx" 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 auth_digest authn_anon authn_dbd authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="caps lvm mdraid syslog" DVB_CARDS="tda10045 tda10046lifeview" 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 evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de fr ru" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="mga matrox vesa via openchrome" 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, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
I'm not sure what is the best way of doing this, and I don't really have the time right now to try it. ${ARCH} is definitely wrong there. Likely ${DEFAULT_ABI} or some kind of $(get_...) function from multilib.eclass.
Created attachment 349016 [details, diff] xcb-proto-1.8-r3.patch The ebuild needs to use DEFAULT_ABI instead of ARCH in the src_compile and src_install phases. If someone gives me the go ahead, I'm fine with committing the change.
(In reply to comment #6) > Created attachment 349016 [details, diff] [details, diff] > xcb-proto-1.8-r3.patch > > The ebuild needs to use DEFAULT_ABI instead of ARCH in the src_compile and > src_install phases. > > If someone gives me the go ahead, I'm fine with committing the change. If you're sure it's correct, then go ahead.
(In reply to comment #6) > Created attachment 349016 [details, diff] [details, diff] > xcb-proto-1.8-r3.patch The patch worked here.
The fix is committed to the tree. I tested the change on the following profiles default/linux/amd64/13.0/desktop default/linux/amd64/13.0/no-multilib prefix/darwin/macos/10.8/x64 While I'm confident the fix is correct, I will monitor to make sure it didn't break anything else.
Patch solved the problem here too. My profile is default/linux/x86/13.0
*** Bug 471138 has been marked as a duplicate of this bug. ***
Now, this breaks Gentoo-prefix on amd64-linux: make: Entering directory `/home/junghans/Gentoo/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-python3_3/xcbgen' cd /home/junghans/Gentoo/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-default && make am--refresh /home/junghans/Gentoo/bin/bash: line 0: cd: /home/junghans/Gentoo/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-default: No such file or directory make: *** [/home/junghans/Gentoo/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/xcb-proto-1.8-default/config.status] Error 1 $ ls /home/junghans/Gentoo/var/tmp/portage/x11-proto/xcb-proto-1.8-r3/work/ xcb-proto-1.8 xcb-proto-1.8-amd64 xcb-proto-1.8-python2_7 xcb-proto-1.8-python3_3 I might be a problem in the prefix profile: $ cat /home/junghans/Gentoo/etc/portage/make.profile/make.defaults # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/linux/amd64/make.defaults,v 1.2 2009/08/18 14:48:10 darkside Exp $ #Note: this is Gentoo Prefix specific! (13 Jul 2008, darkside) ARCH="amd64" CHOST="x86_64-pc-linux-gnu" # The base profile sets ACCEPT_KEYWORDS=amd64 and we don't have that in prefix. ACCEPT_KEYWORDS="-amd64 ~amd64-linux" # We don't have lib64 in prefix so, remove it here. SYMLINK_LIB="" LIBDIR_amd64="lib" DEFAULT_ABI="default" DEFAULT_ABI should be amd64, right?
I think ABI is still set to amd64 on that profile. Looking through the profiles, I see that any profile that sets DEFAULT_ABI also sets ABI. Most of them have the following: ABI="${DEFAULT_ABI}" The ones that don't have it set like that have them set to the same value.
(In reply to Paul Varner from comment #13) > I think ABI is still set to amd64 on that profile. Looking through the > profiles, I see that any profile that sets DEFAULT_ABI also sets ABI. > > Most of them have the following: > > ABI="${DEFAULT_ABI}" > > The ones that don't have it set like that have them set to the same value. Additionally, other breakages could occur if $DEFAULT_ABI does not appear in MULTILIB_ABIS. Probably the easiest solution is to set the following in profiles/prefix/linux/amd64/make.profile: ABI="amd64" DEFAULT_ABI="amd64" MULTILIB_ABIS="amd64" LIBDIR_amd64="lib"
Fixed prefix/linux/amd64/make.defaults.