When trying to upgrade binary package from apache-2.2.6-r3 to apache-2.2.6-r6 I get a die message "more then one mpm was specified" (which I assume I'm supposed to read as "more than one mpm was specified"), but I do have only one specified. On the machine where the package was buildt, apache-2.2.6-r6 installed fine. The environment is the same on both. Also, as one can see, emerge seem to clean up after the failed attempt to install the binary package, so the environment file that one is supposed to look at is not there. But I guess this is rather a portage bug.
On the machine where installation of binary package is done: chetter ~ # emerge --info Portage 2.1.4_rc10 (default-linux/m68k, gcc-4.2.2, glibc-2.3.6-r5, 2.6.22-m68k-amiga m68k) ================================================================= System uname: 2.6.22-m68k-amiga m68k 68060 Timestamp of tree: Sun, 16 Dec 2007 16:46:01 +0000 distcc 2.18.3 m68k-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.5.1-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0_rc6 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r2 ACCEPT_KEYWORDS="m68k x86 ~m68k ~ppc64 ~x86" CBUILD="m68k-unknown-linux-gnu" CFLAGS="-m68030 -pipe -Os" CHOST="m68k-unknown-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-m68030 -pipe -Os" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.uninett.no/linux/Gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/kolla" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="apache2 berkdb bitmap-fonts bzip2 ccache cli cracklib curl dba dri expat fortran gd iconv idn imagemagick ipv6 isdnlog jpeg logrotate m68k mailwrapper memlimit midi ncurses nptl nptlonly objc objc++ openmp pam pcre png pppd readline reflection session spl ssl tcpd truetype truetype-fonts type1-fonts xml xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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 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="prefork" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS chetter ~ # And on building machine (actually the atari emulator aranym): aranym ~ # emerge --info Portage 2.1.4_rc10 (default-linux/m68k, gcc-4.2.2, glibc-2.3.6-r5, 2.6.22-m68k-atari m68k) ================================================================= System uname: 2.6.22-m68k-atari m68k 68040 Timestamp of tree: Sun, 16 Dec 2007 16:46:01 +0000 distcc 2.18.3 m68k-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.5.1-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0_rc6 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r2 ACCEPT_KEYWORDS="m68k x86 ~m68k ~ppc64 ~x86" CBUILD="m68k-unknown-linux-gnu" CFLAGS="-m68030 -pipe -Os" CHOST="m68k-unknown-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-m68030 -pipe -Os" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.uninett.no/linux/Gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/kolla" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="apache2 berkdb bitmap-fonts bzip2 ccache cli cracklib curl dba dri expat fortran gd iconv idn imagemagick ipv6 isdnlog jpeg logrotate m68k mailwrapper memlimit midi ncurses nptl nptlonly objc objc++ openmp pam pcre png pppd readline reflection session spl ssl tcpd truetype truetype-fonts type1-fonts xml xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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 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="prefork" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS aranym ~ # qlist -Iv apache-2 www-servers/apache-2.2.6-r6 aranym ~ #
Reopen with the actual emerge output, thanks.
chetter ~ # emerge -Kpv =www-servers/apache-2.2.6-r6 These are the packages that would be merged, in order: Calculating dependencies... done! [binary U ] www-servers/apache-2.2.6-r6 [2.2.6-r3] USE="ssl -debug -doc (-ldap) (-selinux) -sni% -static% -suexec% -threads (-mpm-event%) (-mpm-itk%) (-mpm-peruser%) (-mpm-prefork%*) (-mpm-worker%) (-no-suexec%) (-static-modules%)" 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%* 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%* speling%* status%* unique_id%* userdir%* usertrack%* vhost_alias%* -asis% -authn_alias% -cern_meta% -charset_lite% -dumpio% -log_forensic% -proxy_ftp% -version%" APACHE2_MPMS="prefork%* -event% -itk% -peruser% -worker%" Total: 1 package (1 upgrade), Size of downloads: 0 kB chetter ~ # grep MPM /etc/make.conf APACHE2_MPMS=prefork chetter ~ # grep APACHE /etc/make.conf 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 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=prefork chetter ~ # emerge -K =www-servers/apache-2.2.6-r6 Calculating dependencies... done! >>> Emerging (1 of 1) www-servers/apache-2.2.6-r6 to / >>> Extracting info * You have selected more then one mpm USE-flag. * Only one MPM is supported. * * ERROR: www-servers/apache-2.2.6-r6 failed. * Call stack: * ebuild.sh, line 46: Called pkg_setup * environment, line 2905: Called apache-2_pkg_setup * environment, line 390: Called setup_mpm * environment, line 3188: Called die * The specific snippet of code: * diefunc "$FUNCNAME" "$LINENO" "$?" "more then one mpm was specified"; * The die message: * more then one mpm was specified * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/www-servers:apache-2.2.6-r6:20071219-034216.log'. * The ebuild environment file is located at '/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/environment'. * !!! Setup failed: 1 * Messages for package www-servers/apache-2.2.6-r6: * You have selected more then one mpm USE-flag. * Only one MPM is supported. * * ERROR: www-servers/apache-2.2.6-r6 failed. * Call stack: * ebuild.sh, line 46: Called pkg_setup * environment, line 2905: Called apache-2_pkg_setup * environment, line 390: Called setup_mpm * environment, line 3188: Called die * The specific snippet of code: * diefunc "$FUNCNAME" "$LINENO" "$?" "more then one mpm was specified"; * The die message: * more then one mpm was specified * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/www-servers:apache-2.2.6-r6:20071219-034216.log'. * The ebuild environment file is located at '/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/environment'. * chetter ~ # cat /var/tmp/portage/www-servers/apache-2.2.6-r6/temp/environment cat: /var/tmp/portage/www-servers/apache-2.2.6-r6/temp/environment: No such file or directory chetter ~ # ls -la /var/tmp/portage/ total 8 drwxrwxr-x 2 portage portage 4096 2007-12-19 04:43 . drwxrwxrwt 16 root root 4096 2007-12-18 01:21 .. chetter ~ # chetter ~ # cat /var/log/portage/www-servers\:apache-2.2.6-r6\:20071219-034216.log * You have selected more then one mpm USE-flag. * Only one MPM is supported. * * ERROR: www-servers/apache-2.2.6-r6 failed. * Call stack: * ebuild.sh, line 46: Called pkg_setup * environment, line 2905: Called apache-2_pkg_setup * environment, line 390: Called setup_mpm * environment, line 3188: Called die * The specific snippet of code: * diefunc "$FUNCNAME" "$LINENO" "$?" "more then one mpm was specified"; * The die message: * more then one mpm was specified * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/www-servers:apache-2.2.6-r6:20071219-034216.log'. * The ebuild environment file is located at '/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/environment'. * chetter ~ #
Created attachment 138950 [details, diff] save temp files when a binary install fails If you save this patch as /tmp/save_temp.patch, then you can apply it as follows: patch /usr/lib/portage/pym/portage.py /tmp/save_temp.patch It seems like something is wrong with the state of the USE variable in the binary package's environment.bz2 file. With the save_temp.patch applied, you'll be able to check the state of the USE variable inside /var/tmp/portage/www-servers/apache-2.2.6-r6/temp/environment.
Created attachment 138953 [details] apache-2.2.6-r6 binary environment I'm experiencing the exact same problem. I've attached my package environment.
Seems to me that MY_MPM is already defined when running setup_mpm()?
(In reply to comment #6) > Seems to me that MY_MPM is already defined when running setup_mpm()? That's right. It's now fixed in cvs: --- apache-2.eclass 15 Dec 2007 14:00:19 -0000 1.3 +++ apache-2.eclass 20 Dec 2007 15:43:27 -0000 @@ -92,6 +92,7 @@ # This internal function makes sure that only one of APACHE2_MPMS was selected # or a default based on USE=threads is selected if APACHE2_MPMS is empty setup_mpm() { + MY_MPM="" for x in ${IUSE_MPMS} ; do if use apache2_mpms_${x} ; then if [[ -z "${MY_MPM}" ]] ; then
Applied the patch, rebuilt the package and installation now works. Thanks.
Thanks for testing.