Apache2 (2.0 and 2.2 tested) and mod_perl-2 (the one in ~amd64) throw this error in logs/apache2/error_log when I try to access scripts, and give me an error500.: [Sun Mar 19 02:02:45 2006] [error] [client 192.168.1.104] failed to resolve handler `Apache2::PerlRun': Can't locate Apache2/PerlRun.pm in @INC (@INC contains: /home/httpd/perl /etc/perl /usr/lib/perl5/site_perl/5.8.7/x86_64-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/x86_64-linux /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.7/x86_64-linux /usr/lib/perl5/5.8.7 /usr/local/lib/site_perl . /usr/lib64/apache2) at (eval 10) line 3.\n
Actually sounds like your /etc/apache2/modules.d/75_mod_perl.conf wasn't updated. (you ran etc-update, yes?) That should be pointing to ModPerl::PerlRun, not Apache2::PerlRun.
(In reply to comment #1) > Actually sounds like your /etc/apache2/modules.d/75_mod_perl.conf wasn't > updated. (you ran etc-update, yes?) That should be pointing to > ModPerl::PerlRun, not Apache2::PerlRun. > No, I tried that. When I do that, it doesn't even throw server errors, it just tries to send me the perl script itself
Could you locate (as slocate's locate, or otherwise find) Apache2/PerlRun.pm please? Also, please provide perl -V
Can't say i'm a big fan of mixing ~amd64 and amd64, at least not with perl related stuff (since ~amd64 of perl right now has fixes for lib64 that aren't in 5.8.7). That grumble issued, please attach the CONTENTS file that was generated installing mod_perl-2 (/var/db/pkg/www-apache/mod_perl-2*/CONTENTS most likely). I'd like to see how your install compares to where it should have gone. Not trying to be a pain, but can you back up your 75_mod_perl.conf and replace it with the one in $PORTAGEDIR/www-apache/mod_perl/files/2.0.2/ as well as the apache2*.pl script? Also, please confirm that you have -D PERL in /etc/conf.d/apache2.
Created attachment 82627 [details] The CONTENTS file from mod_perl
And a locate of PerlRun.pm: gomorra ~ # locate PerlRun.pm /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux/ModPerl/PerlRun.pm And perl -V: gomorra ~ # perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.15-gentoo-r7, archname=x86_64-linux uname='linux gomorra 2.6.15-gentoo-r7 #2 preempt fri mar 17 03:18:17 local time zone must be set--see x86_64 amd sempron(tm) processor 2800+ authenticamd gnulinux ' config_args='-des -Darchname=x86_64-linux -Dcccdlflags=-fPIC -Dccdlflags=-rdynamic -Dcc=x86_64-pc-linux-gnu-gcc -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-march=k8 -O2 -pipe -Duselargefiles -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1 -Dinstallman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/x86_64-linux 5.8.2 5.8.2/x86_64-linux 5.8.4 5.8.4/x86_64-linux 5.8.5 5.8.5/x86_64-linux 5.8.6 5.8.6/x86_64-linux 5.8.7 5.8.7/x86_64-linux -Dcf_by=Gentoo -Ud_csh -Di_ndbm -Ui_gdbm -Di_db -Dusrinc=/usr/include/gentoo-multilib/amd64 -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-march=k8 -O2 -pipe', cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement' ccversion='', gccversion='4.0.3 (Gentoo 4.0.3, pie-8.7.8)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='x86_64-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib64' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lpthread -lnsl -lndbm -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.3.6.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.3.6' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib64' Characteristics of this binary (from libperl): Compile-time options: PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO Built under linux Compiled at Mar 19 2006 17:03:20 @INC: /etc/perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux /usr/lib64/perl5/vendor_perl/5.8.8 /usr/lib64/perl5/vendor_perl/5.8.7 /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux /usr/lib64/perl5/site_perl/5.8.8 /usr/lib64/perl5/site_perl /usr/lib64/perl5/5.8.8/x86_64-linux /usr/lib64/perl5/5.8.8 /usr/local/lib/site_perl .
bingo. the @INC that mod_perl is reporting is different than the one that perl is reporting in your last post, indicating that one was built after the other. Did you upgrade perl after installing mod_perl? Or rebuild it? And if so, did you rebuild libperl as well?
(In reply to comment #7) > bingo. the @INC that mod_perl is reporting is different than the one that perl > is reporting in your last post, indicating that one was built after the other. > Did you upgrade perl after installing mod_perl? Or rebuild it? And if so, did > you rebuild libperl as well? > okay, i just rebuilt everything, doesn't fix it...
"Everything" includes mod_perl? I'd like to see your "@INC contains..." part from the error_log, as well as updated perl -V (yes, again ;-))...
okay, w00t. Checking the log files again, now it was just complaining about malformed HTTP headers coming out of the perl script... when I fixed that, problem solved.