in ~x86 branch i've attempted to update apache-2.0.54-r5 with no success. configure script failed due to the fact that the selected mpm is not supported checking which MPM to use... configure: error: the selected mpm -- -- is not supported !!! ERROR: net-www/apache-2.0.54-r6 failed. !!! Function src_compile, Line 152, Exitcode 1 Reproducible: Always Steps to Reproduce: 1. i've got >=net-www/apache-2.0.54-r5 ~x86 in /etc/portage/packages.keyword 2. syncing emerge && emerge --update world 3. Actual Results: checking which MPM to use... configure: error: the selected mpm -- -- is not supported !!! ERROR: net-www/apache-2.0.54-r6 failed. !!! Function src_compile, Line 152, Exitcode 1 !!! bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log !!! If you need support, post the topmost build error, NOT this status message. Expected Results: the expected results in a perfect world should be somethink like net-www/apache-2.0.54-r6 succesfully emerged Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r9 i686) ================================================================= System uname: 2.6.11-gentoo-r9 i686 AMD Duron(tm) Processor Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 28 2005, 00:18:14)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="alsa apache2 apm arts avi berkdb bitmap-fonts cpdflib crypt cups curl dba emboss encode foomaticdb fortran gd gd-external gdbm gif gpm gtk2 imap imlib ipv6 jpeg ldap libg++ libwww mad maildir mikmod motif mp3 mpeg mysql ncurses nls oggvorbis opengl oss pam pam-mysql pdflib perl png python quicktime readline sasl sdl session simplexml spell sqlite ssl tcpd tidy truetype truetype-fonts type1-fonts x86 xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Created attachment 60355 [details] my http-2.0.54-r6 config.layout my http-2.0.54-r6 config.layout found in /var/tmp/portage/apache-2.0.54-r6/work/httpd-2.0.54
Created attachment 60356 [details] my http-2.0.54-r6 config.log my http-2.0.54-r6 config.log found in /var/tmp/portage/apache-2.0.54-r6/work/httpd-2.0.54
wrong component.
it seems that --with-mpm= is empty. there is no default value? i'm trying by setting mpm-worker in my USE line in make.conf
(In reply to comment #3) > wrong component. sorry but what does it mean?
(In reply to comment #5) > (In reply to comment #3) > > wrong component. > > sorry but what does it mean? Nothing related to the actual problem - use New -> Gentoo Linux -> Ebuild next time... ;-)
(In reply to comment #4) > it seems that --with-mpm= is empty. there is no default value? i'm trying by > setting mpm-worker in my USE line in make.conf I can
(In reply to comment #4) > it seems that --with-mpm= is empty. there is no default value? i'm trying by > setting mpm-worker in my USE line in make.conf I can´t see any MPM in your use flags, you probably did not set it (correctly). Anyway, apache should have a default one either way, IMNSHO.
Jakub, I think the 2 "mpms=" in select_mpms() should be "mpm=".
(cut
(cut´n´paste from Bug 94717, comment #1) This ebuild still has problems, like: # /etc/init.d/apache2 restart * Unable to find specified MPM: prefork Hmm, what does the ewarn actually mean then? * Multiple MPM support has been disabled due to problems with external * modules. If you have relied on this functionality you will need * to find another solution. The Gentoo Apache team apologizes for * any inconvienence this may cause you. Well, the support has been disabled? What do you mean? emerge -pv apache These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] net-www/apache-2.0.54-r6 +apache2 -debug +doc -ldap -mpm-leader -mpm-peruser +mpm-prefork -mpm-threadpool +mpm-worker -no-suexec +ssl -static-modules -threads 0 kB Commented out MPM=prefork in /etc/conf.d/apache2 and I can at least start the new apache version. So does it now build only prefork, no matter what USE flags do you set? Would be better to remove the flags then. Or which one takes precedence? Some clarification would come really handy.
using flag mpm-worker in $USE worked, it seems that we must absolutely indicate which mpm we want to use since multiple mpm support have been disabled.
(In reply to comment #10) > using flag mpm-worker in $USE worked, it seems that we must absolutely indicate > which mpm we want to use since multiple mpm support have been disabled. Uhm, that
(In reply to comment #10) > using flag mpm-worker in $USE worked, it seems that we must absolutely indicate > which mpm we want to use since multiple mpm support have been disabled. Uhm, that´s very nice but the ebuild does not make sense. It lets you specify as many MPMs as you wish and then selects which one? (see Comment #9). Reopening.
i commited a fix for the init scripts, they should start apache as usual now
*** Bug 94746 has been marked as a duplicate of this bug. ***
Any news on the "automagic" MPM choice? Should not the ebuild bail out and force the users to choose _only one_ MPM in use flags? Or have I missed something? *confused*
Created attachment 60389 [details, diff] onempm patch
(In reply to comment #15) > onempm patch Yeah, looks much more sane now. Thx! ;-) It
(In reply to comment #15) > onempm patch Yeah, looks much more sane now. Thx! ;-) It´s a pity that multi-MPM ebuild is not possible any more, I liked it. Oh well, maybe later. :/
Okay well, here goes. The first version of -r6 did not automagically choose a MPM. It used a precendence order to choose the safest default, as this is what kloeri had suggested. In order, these where prefork, worker, peruser, threadpool, and leader. In light of this bug and a conversation I had last night I have changed this behavior. Now instead of simply choosing, the ebuild bails with * You attempted to specify the MPM threadpool, but MPM worker was already specified. * The apache ebuilds no longer support multiple MPM installations. Please choose * one MPM and reinstall. !!! ERROR: net-www/apache-2.0.54-r6 failed. !!! Function mpm_die, Line 365, Exitcode 0 !!! More than one MPM was specified. !!! If you need support, post the topmost build error, NOT this status message. This has been committed as a new 2.0.54-r6. Resolving this as FIXED. If anyone still has troubles with it after they sync with the new version (new version will have mpm_die, old version will have mpm_warn), then feel free to reopen.
is it possible to built apache with no mpm support?
Building apache without an MPM would mean it was unable to serve requests. The short answer though is no. The long answer is Apache uses Multi-Processing Modules (MPMs) to handle and serve requets. How an MPM is written determines how apache will run. There are threaded and non-threaded MPMs that in turn determine if Apache will run threaded or non-threaded. If you do not specify one of the mpm useflags, the ebuild will choose a default for you. The defaults are mpm-prefork if the threads use flag is not present, mpm-worker if it is. However, I strongly recommend you read the documentation at http://httpd.apache.org/ and read about how each mpm operates, and choose one that fits your specific setup best. This will also make sure your MPM does not randomly change should our defaults for some reason change in the future.
now that apache is built with mpm-prefork rebuilding mod_php5 needs to downgrade mysql 4.1 to 4.0. In fact it compiled php with libmysqlclient-12 instead of -14... this was working perfectly last week cf my thread http://forums.gentoo.org/viewtopic-t-345015.html
(In reply to comment #19) > Building apache without an MPM would mean it was unable to serve requests. The > short answer though is no. > > The long answer is Apache uses Multi-Processing Modules (MPMs) to handle and > serve requets. How an MPM is written determines how apache will run. There are > threaded and non-threaded MPMs that in turn determine if Apache will run > threaded or non-threaded. If you do not specify one of the mpm useflags, the > ebuild will choose a default for you. > > The defaults are mpm-prefork if the threads use flag is not present, mpm-worker > if it is. However, I strongly recommend you read the documentation at > http://httpd.apache.org/ and read about how each mpm operates, and choose one > that fits your specific setup best. This will also make sure your MPM does not > randomly change should our defaults for some reason change in the future. i have read the docs and choose to use mpm-worker, but mod_php5 complains that it doesn't safely support it. so i'm back using mpm-prefork as suggested.
This is a different bug, and unrelated to this one. If it helps, if you use mpm-worker, PHP will need the "threads" USE flags enabled. That goes for all MPMs besides mpm-prefork. So you could do echo dev-php/mod_php threads >> /etc/portage/package.use, then rebuild apache with mpm-worker, and mod_php will happily build with it.