While using www-apache/mod_perl with mpm-prefork for quite some while (currently 2.0.3-r1) upgrading to -r2 was impossible due to the check for a "valid" perl installation. After having a look at the ebuild it's quite clear to me that I have to emerge perl(-related) package(s) with USE="-ithreads". However the error message mod_perl gives is confusing since it says mod_perl can only be used with mpm event or worker and tells me to change my apache settings instead of pointing me to the needed reemerge of perl(-related) package(s) to solve the issue. * The module you are trying to install (mod_perl) * will only work with one of the following MPMs: * event worker * You do not currently have any of these MPMs installed. * Please re-install apache with the correct mpm-* USE flag set. Reproducible: Always Steps to Reproduce: 1. having dev-lang/perl-5.8.8-r4 and sys-devel/libperl-5.8.8-r1 installed with USE="ithreads" 2. having www-servers/apache-2.2.6-r6 installed with APACHE2_MPMS="prefork" 3. trying to emerge www-apache/mod_perl-2.0.3-r2
Wondering whether you've read the message at all... no, you can't mix non-threaded and threaded things at will.
Perhaps I was not clear enough, my point was to mention that the description of the error message could perhaps be improved by adding something like: * The module you are trying to install (mod_perl) * will only work with one of the following MPMs: * event worker * You do not currently have any of these MPMs installed. * Please re-install apache with the correct mpm-* USE flag set. * _OR_ * re-install libperl and perl with proper "ithreads" USE flag if * you don't want to change your current apache mpm. Since the current error message in that case * The module you are trying to install (mod_perl) * will only work with one of the following MPMs: * event worker implies that it ONLY works with event and worker at all.
Yeah, perhaps you don't understand that is a *generic* apache-module eclass message. And telling users to use an appropriate apache MPM for threaded/non-threaded stuff is a *lot* more sensible than telling them to re-emerge every single perl application they have installed.
*** Bug 204916 has been marked as a duplicate of this bug. ***
(In reply to comment #1) > no, you can't mix non-threaded and threaded things at will. Maybe not at will, but I still claim that non-threaded apache and threaded perl should be a valid combination, according to upstream documentation. So I suggest you either reopen one of these bugs, this one here or bug 204916, or you point us to a description of an actual problem that arises from using perfork and ithreads-enabled Perl. In the latter case, probably an upstream bug should be filed in order to get the documentation corrected or the issue resolved.