The problem occurs when emergeing net-misc/balance-3.24.The ebuild assumes that pdf documentation should be generated even when the ps2pdf command does not exist. Reproducible: Always Steps to Reproduce: 1. Set package.keywords to use ~x86 for net-misc/balance. 2. emerge -d balance 2. See the error Actual Results: # emerge -d balance Calculating dependencies Parent: None Depstring: net-misc/balance Candidates: ['net-misc/balance'] ebuild: net-misc/balance-3.24 binpkg: None - Parent: ebuild / net-misc/balance-3.24 merge Depstring: Exiting... None ...done! >>> emerge (1 of 1) net-misc/balance-3.24 to / + dyn_clean + '[' GNU == BSD ']' + '[' GNU == Darwin ']' + rm -rf /var/tmp/portage/balance-3.24/image + hasq keeptemp autoconfig distlocks sandbox sfperms strict + local x + local me=keeptemp + shift + for x in '"$@"' + '[' autoconfig == keeptemp ']' + for x in '"$@"' + '[' distlocks == keeptemp ']' + for x in '"$@"' + '[' sandbox == keeptemp ']' + for x in '"$@"' + '[' sfperms == keeptemp ']' + for x in '"$@"' + '[' strict == keeptemp ']' + return 1 + rm -rf /var/tmp/portage/balance-3.24/temp + hasq keepwork autoconfig distlocks sandbox sfperms strict + local x + local me=keepwork + shift + for x in '"$@"' + '[' autoconfig == keepwork ']' + for x in '"$@"' + '[' distlocks == keepwork ']' + for x in '"$@"' + '[' sandbox == keepwork ']' + for x in '"$@"' + '[' sfperms == keepwork ']' + for x in '"$@"' + '[' strict == keepwork ']' + return 1 + rm -rf /var/tmp/portage/balance-3.24/.unpacked + rm -rf /var/tmp/portage/balance-3.24/.compiled + rm -rf /var/tmp/portage/balance-3.24/.tested + rm -rf /var/tmp/portage/balance-3.24/.installed + rm -rf /var/tmp/portage/balance-3.24/.packaged + rm -rf /var/tmp/portage/balance-3.24/build-info + rm -rf /var/tmp/portage/balance-3.24/work + '[' -f /var/tmp/portage/balance-3.24/.unpacked ']' ++ find /var/tmp/portage/balance-3.24 -mindepth 1 -maxdepth 1 + '[' -z '' ']' + rmdir /var/tmp/portage/balance-3.24 + true + set +x >>> md5 files ;-) balance-3.24.ebuild >>> md5 files ;-) balance-3.19.ebuild >>> md5 files ;-) files/digest-balance-3.19 >>> md5 files ;-) files/digest-balance-3.24 >>> md5 src_uri ;-) balance-3.24.tar.gz + dyn_setup + pkg_setup + return + set +x + dyn_unpack + trap abort_unpack SIGINT SIGQUIT + local newstuff=no + '[' -e /var/tmp/portage/balance-3.24/work ']' + '[' -e /var/tmp/portage/balance-3.24/work ']' + install -m0700 -d /var/tmp/portage/balance-3.24/work + '[' -d /var/tmp/portage/balance-3.24/work ']' + cd /var/tmp/portage/balance-3.24/work + echo '>>> Unpacking source...' >>> Unpacking source... + src_unpack + '[' balance-3.24.tar.gz '!=' '' ']' + unpack balance-3.24.tar.gz + local x + local y + local myfail + local tarvars + '[' GNU == BSD ']' + tarvars=--no-same-owner + '[' -z balance-3.24.tar.gz ']' + for x in '"$@"' + myfail='failure unpacking balance-3.24.tar.gz' ++ pwd + echo '>>> Unpacking balance-3.24.tar.gz to /var/tmp/portage/balance-3.24/work' >>> Unpacking balance-3.24.tar.gz to /var/tmp/portage/balance-3.24/work + y=balance-3.24.tar + y=tar + case "${x##*.}" in + '[' tar == tar ']' + tar xzf /usr/portage/distfiles/balance-3.24.tar.gz --no-same-owner + touch /var/tmp/portage/balance-3.24/.unpacked + echo '>>> Source unpacked.' >>> Source unpacked. + cd /var/tmp/portage/balance-3.24 + trap SIGINT SIGQUIT + set +x + dyn_compile + trap abort_compile SIGINT SIGQUIT + '[' '-O2 -march=athlon-xp -pipe' '!=' unset ']' + export CFLAGS + '[' '-O2 -march=athlon-xp -pipe' '!=' unset ']' + export CXXFLAGS + '[' unset '!=' unset ']' + '[' unset '!=' unset ']' + '[' unset '!=' unset ']' + '[' unset '!=' unset ']' + '[' unset '!=' unset ']' + '[' unset '!=' unset ']' + '[' unset == unset ']' + export DISTCC_DIR=/var/tmp/.distcc + DISTCC_DIR=/var/tmp/.distcc + '[' '!' -z /var/tmp/.distcc ']' + addwrite /var/tmp/.distcc + export SANDBOX_WRITE=/dev/zero:/dev/null:/dev/fd:/proc/self/fd:/dev/pts/:/dev/vc/:/dev/pty:/dev/tty:/dev/console:/dev/shm/ngpt:/var/log/scrollkeeper.log:/usr/tmp/conftest:/usr/lib/conftest:/usr/lib32/conftest:/usr/lib64/conftest:/usr/tmp/cf:/usr/lib/cf:/usr/lib32/cf:/usr/lib64/cf:/var/tmp/portage/homedir/.gconfd/lock:/var/tmp/portage/homedir/.bash_history:/var/tmp:/tmp:/var/tmp:/tmp/:/var/tmp/:/dev/shm:/var/tmp:/var/tmp/.distcc + SANDBOX_WRITE=/dev/zero:/dev/null:/dev/fd:/proc/self/fd:/dev/pts/:/dev/vc/:/dev/pty:/dev/tty:/dev/console:/dev/shm/ngpt:/var/log/scrollkeeper.log:/usr/tmp/conftest:/usr/lib/conftest:/usr/lib32/conftest:/usr/lib64/conftest:/usr/tmp/cf:/usr/lib/cf:/usr/lib32/cf:/usr/lib64/cf:/var/tmp/portage/homedir/.gconfd/lock:/var/tmp/portage/homedir/.bash_history:/var/tmp:/tmp:/var/tmp:/tmp/:/var/tmp/:/dev/shm:/var/tmp:/var/tmp/.distcc + hasq noauto autoconfig distlocks sandbox sfperms strict + cd /var/tmp/portage/balance-3.24 + '[' '!' -e build-info ']' + mkdir build-info + cp /usr/portage/net-misc/balance/balance-3.24.ebuild build-info/balance-3.24.ebuild + '[' /var/tmp/portage/balance-3.24/.compiled -nt /var/tmp/portage/balance-3.24/work ']' + '[' -d /var/tmp/portage/balance-3.24/work/balance-3.24 ']' + cd /var/tmp/portage/balance-3.24/work/balance-3.24 + export S D + export PWORKDIR=/var/tmp/portage/balance-3.24/work + PWORKDIR=/var/tmp/portage/balance-3.24/work + src_compile + emake 'CFLAGS=-O2 -march=athlon-xp -pipe' gcc -O2 -march=athlon-xp -pipe -I. -c butils.c groff -f H -man balance.1 > balance.ps gcc -O2 -march=athlon-xp -pipe -I. -o balance balance.c butils.o ps2pdf balance.ps balance.pdf make: ps2pdf: Command not found make: *** [balance.pdf] Error 127 make: *** Waiting for unfinished jobs.... + diefunc src_compile 15 2 + local funcname=src_compile lineno=15 exitcode=2 + shift 3 + echo + echo '!!! ERROR: net-misc/balance-3.24 failed.' !!! ERROR: net-misc/balance-3.24 failed. + echo '!!! Function src_compile, Line 15, Exitcode 2' !!! Function src_compile, Line 15, Exitcode 2 + echo '!!! (no error message)' !!! (no error message) + echo '!!! If you need support, post the topmost build error, NOT this status message.' !!! If you need support, post the topmost build error, NOT this status message. + echo + exit 1 Expected Results: The pdf documentation should have been skipped. # emerge info Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.5-r0, 2.4.28-gentoo-r7 i686) ================================================================= System uname: 2.4.28-gentoo-r7 i686 AMD Athlon(tm) XP Gentoo Base System version 1.6.12 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control /var/run/dspam /var/spool/dspam" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://gentoo.ccccom.com ftp://mirrors.tds.net/gentoo http://gentoo.netnitco.net" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apache2 apm arts avi berkdb bitmap-fonts cdr chroot crypt curl dvd emboss encode foomaticdb gd gdbm gif gpm gtk gtk2 imap imlib innodb ipv6 java jpeg kde libg++ libwww mad mbox mikmod motif mp3 mpeg mysql ncurses nls ogg oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sasl sdl skey spell ssl svga tcpd tetex tiff truetype truetype-fonts type1-fonts vorbis xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
emerge ghostscript to get ps2pdf
Yup, but the ebuild should have either a dependency or a 'use' statement to make that part optional.
it does now