apache-2 simply fails to start after upgrading from 1.9.11 to 2.0.0 with the following errors: Can't locate Apache2.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i686-linux /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i686-linux /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i686-linux /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl . /usr/lib/apache2) at /etc/apache2/conf/modules.d/apache2-mod_perl-startup.pl line 1 Reproducible: Always Steps to Reproduce: 1. unmask mod_perl 2.0.0 2. install 3. scratch your head Actual Results: Apacha fails to start! Expected Results: Working mod_perl would be really nice! I will attach a patch for apache2-mod_perl-startup.pl that works for me.
Created attachment 60651 [details, diff] apache2-mod_perl-startup.pl patch This patch WORKSFORME ;-) Tested with AWStats.
Additional fixed needed to get it work: 1/ Symlink Apache2.pm and ApacheTest.pm somewhere to @INC, like /usr/lib/perl5/vendor_perl/5.8.5/i686-linux so that Apache actually finds it. 2/ Symlink /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl directory under /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Apache2 directory Also, looking at http://perl.apache.org/docs/2.0/rename.html I really doubt that this ebuild it doing things in a sane way. There may and probably is a much better way to do this, but the above at least gets you started.
Just to add, it also wants to overwrite perllocal.pod (i.e. fails with FEATURES="collision-protect"); and the perllocal.pod it wants to install has a broken path in it: =head2 Fri Jul 1 20:40:24 2005: C<Module> L<mod_perl2|mod_perl2> =over 4 =item * C<installed into: /var/tmp/portage/mod_perl-2.0.0/image//usr/lib/perl5/vendor_perl/5.8.6> =item * C<LINKTYPE: dynamic> =item * C<VERSION: 2.0.0> =item * C<EXE_FILES: bin/mp2bug> =back
This has been broken for a long time. Without being pushy, I want to voice my disappointment at this. Ran into this problem yet again today, and I was surprised to find that fuggin' apache2-extramodules directory created by the ebuild again. Please place a fix in portage.
comment #4 should be in bug #92308. Lets just handle one issue per bug.
Created attachment 63669 [details] updated apache2-mod_perl-startup.pl 'use Apache2;' also must be removed.
Also, mod_perl >= 2.0.0 needs to depend on >=apache-2.0.54-r10. Previous versions of the apache package use the file commonapache2.conf that still tries to include Apache2::ModPerl::Registry module (which doesn't exist anymore).
I updated the version and modified the existing 2.0.0 to 2.0.1. 75_mod_perl.conf and apache2-mod_perl-startup had to be modified. I used the latest startup file as attached here. Attaching 75_mod_perl.conf and mod_perl-2.0.1.ebuild. Note: both extra files need to be in files/mod_perl-2.0.1/ Sorry if this is the wrong bug to attach this to, as this is my first patch job. Future work needs to be done to use apache-module eclass.
Created attachment 64102 [details] 75_mod_perl.conf
Created attachment 64103 [details] mod_perl-2.0.1.ebuild
Created attachment 64226 [details] mod_perl-2.0.1.ebuild This is a slight modification. When mod_perl 2's namespace was changed, the Apache2.pm file was no longer necessary. This ebuild reflects that. Thanks to rendhalver on #gentoo-perl for the info.
Edit: Information on changes can be found at http://perl.apache.org/docs/2.0/ rename.html
2.0.1 was just posted - unforuntately independant of this bug report (sorry, sorting through the mod_perl bugs still). Please test and let me know if you have any problems. It installs and loads over here great, but I'd like feedback :) fyi: testing is disabled until i can track down why TMPDIR is being ignored in some of the subtests.
jakub? anyone?
(In reply to comment #14) > jakub? anyone? Michael, I've setup another box so I'll be able to test it in a day or two, cannot do that on the production machine right now b/c it requires unstable Apache with the new baselayout, which is a lot of migration-related work.
OK, here we go: Tests fail with sandbox violation, so they should probably be disabled. --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/var/log/sandbox/sandbox-www-apache_-_mod_perl-2.0.1-r2-2824.log" unlink: /1 unlink: /1 unlink: /1 unlink: /1 -------------------------------------------------------------------------------- Other than that, all issues mentioned here seem to be fixed and apache starts and works after adding -D PERL, so thumb up! Thanks. ;)
Going ahead and marking fixed - working on the tests part, but the functionality is there otherwise
I hope I'm doing this right... I have apache 2.0.54 and mod perl 2.0.1, I have a working webserver without adding -D PERL as an apache startup option in /etc/conf.d/apache, adding that option results in apache hanging, but no display of anything.