Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 420393

Summary: app-arch/p7zip-9.20.1-r2 fails to build 7zG/7zFM with "-l" in MAKEOPTS
Product: Gentoo Linux Reporter: Mathieu Z <mobiusstripper>
Component: Current packagesAssignee: Justin Lecher (RETIRED) <jlec>
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Attachments: build log
uncompressed build log

Description Mathieu Z 2012-06-09 11:25:45 UTC
doexe failed during app-arch/p7zip's install phrase.

Reproducible: Always

Steps to Reproduce:
1. emerge -a1 p7zip
Actual Results:  
>>> Install p7zip-9.20.1-r2 into /var/tmp/portage/app-arch/p7zip-9.20.1-r2/image/ category app-arch
!!! doexe: bin/7zG does not exist
!!! doexe: bin/7zFM does not exist
 * ERROR: app-arch/p7zip-9.20.1-r2 failed (install phase):
 *   doexe failed
 * If you need support, post the output of `emerge --info '=app-arch/p7zip-9.20.1-r2'`,
 * the complete build log and the output of `emerge -pqv '=app-arch/p7zip-9.20.1-r2'`.
 * The complete build log is located at '/var/log/portage/build/app-arch/p7zip-9.20.1-r2:20120609-111834.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/app-arch/p7zip-9.20.1-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-arch/p7zip-9.20.1-r2/temp/environment'.
 * Working directory: '/var/tmp/portage/app-arch/p7zip-9.20.1-r2/work/p7zip_9.20.1'
 * S: '/var/tmp/portage/app-arch/p7zip-9.20.1-r2/work/p7zip_9.20.1'
 * QA Notice: file does not exist:
 * 	doexe: bin/7zG does not exist
 * 	doexe: bin/7zFM does not exist

# emerge --info p7zip
Portage 2.2.0_alpha108 (default/linux/amd64/10.0/no-multilib, gcc-4.5.3, glibc-2.15-r2, 3.3.4-ck x86_64)
                        System Settings
System uname: Linux-3.3.4-ck-x86_64-Intel-R-_Atom-TM-_CPU_330_@_1.60GHz-with-gentoo-2.1
Timestamp of tree: Sat, 09 Jun 2012 10:35:01 +0000
ccache version 3.1.7 [enabled]
app-shells/bash:          4.2_p28
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.8-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.2
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.5
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.7.2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo gentoo-zh pure-funtoo mz-overlay
Installed sets: 
ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-march=native -O2 -pipe"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
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.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles metadata-transfer news parallel-fetch parse-eapi-ebuild-head preserve-libs protect-owned sandbox sfperms split-elog split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both"
LINGUAS="en zh zh_TW zh_CN ja"
MAKEOPTS="-j3 -l"
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"
PORTDIR_OVERLAY="/var/lib/layman/gentoo-zh /var/lib/layman/pure-funtoo /usr/local/portage"
USE="3dnow 3dnowext X a52 aac aalib acl acpi aim alsa amd64 apache2 audiofile avahi bash-completion berkdb bidi bittorrent bluetooth branding bzip2 cairo caps cdaudio cdio cdr cjk cli consolekit cracklib crypt cscope css cups curl curlwrappers cxx dbus dga dhcpcd directfb djvu dri dts dv dvd dvdr dvdread encode enscript exif expat fam fastcgi fbcon ffmpeg flac fontconfig foomaticdb fortran ftp fuse g3dvl gallium gd gdbm git glib glut gmp gnome gnome-keyring gnutella gnutls gpg gphoto2 gpm gps graphviz gs gstreamer gtk gtk3 httpd iconv icq icu idn ieee1394 imagemagick imap imlib innodb ipod ipv6 jabber javascript jingle joystick jpeg jpeg2k kpathsea lame latex lcms ldap libcaca libnotify libsamplerate lm_sensors lzo m17n-lib mad matroska mercurial midi mmx mmxext modules mp3 mp4 mpeg mplayer msn mudflap musepack musicbrainz mysql mysqli nautilus ncurses netboot networkmanager nforce2 nis nls nntp nptl odbc ogg openal opengl openmp osc oscar pae pam pch pcre pda pdf php png posix postgres ppds pppd pulseaudio python qq quicktime raw readline recode rss ruby samba sasl sdl session simplexml slang sockets socks5 speex spell sqlite sqlite3 sse sse2 sse2i sse3 ssl subversion svg taglib tcpd theora threads tidy tiff timidity truetype udev unicode upnp usb v4l2 vaapi vcd vdpau vhosts vim-syntax vorbis wav wavepack webm webp wma wmf wmp x264 x86emu xcb xcomposite xforms xfs xft xine xinerama xml xorg xosd xsl xv xvid yahoo zip zlib" ALSA_CARDS="hda-intel" 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_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="caps dmsquash-live livenet lvm gensplash ssh-client 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 evdev wacom" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en zh zh_TW zh_CN ja" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="intel vesa fbdev i915 nouveau" 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"

                        Package Settings

app-arch/p7zip-9.20.1 was built with the following:
USE="pch rar wxwidgets -doc -kde (-static)"
Comment 1 Mathieu Z 2012-06-09 11:28:24 UTC
Created attachment 314771 [details]
build log

Build log attached.
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2012-06-09 14:05:25 UTC
Created attachment 314801 [details]
uncompressed build log
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2012-06-09 14:09:00 UTC
The problem are your MAKEOPTS. if you add -l you need to specify a number, like "-l 3". I don't understand why only the gui part fails, but this is the solution.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-06-09 14:36:12 UTC
(In reply to comment #3)
> The problem are your MAKEOPTS. if you add -l you need to specify a number,
> like "-l 3". I don't understand why only the gui part fails, but this is the
> solution.

And the explanation follows:

'emake 7zG' is transformed into 'make ${MAKEOPTS} 7zG', in your case:

make -j3 -l 7zG

GNU make sees that '7' as an argument to '-l', and thus eats the whole target.

Possible solutions:

1) don't put argument-less '-l' to MAKEOPTS. Looking at the info page, '-l' without a number just removes the limit. Since you didn't set the limit earlier, it just does nothing. Drop it, problem solved (yet a similar thing could happen with MAKEOPTS=-j, I guess);

2) add '--' to the emake invocation whenever the target starts with a number. Should fix the case. We can't add '--' higher because sometimes ebuilds need to pass additional options to emake;

3) fix GNU make to not treat '7zG' as '7'.

I'd suggest doing all three.
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2012-06-09 14:44:20 UTC
Mathieu, your part

+*p7zip-9.20.1-r3 (09 Jun 2012)
+  09 Jun 2012; Justin Lecher <> -p7zip-9.20.1-r2.ebuild,
+  +p7zip-9.20.1-r3.ebuild:
+  Drop -O -pipe from buildsystem, add -- to emake so that -l doesn't get
+  confused by 7z* make targets, #420393

Who is up for this?