Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 126767 - mod_perl 2 fails to work
Summary: mod_perl 2 fails to work
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-19 00:34 UTC by John Sonnenschein
Modified: 2006-03-20 03:03 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The CONTENTS file from mod_perl (CONTENTS,68.64 KB, text/plain)
2006-03-19 16:02 UTC, John Sonnenschein
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Sonnenschein 2006-03-19 00:34:24 UTC
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
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2006-03-19 06:06:54 UTC
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.
Comment 2 John Sonnenschein 2006-03-19 14:31:40 UTC
(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
Comment 3 Yuval Yaari (RETIRED) gentoo-dev 2006-03-19 14:40:13 UTC
Could you locate (as slocate's locate, or otherwise find) Apache2/PerlRun.pm please?
Also, please provide perl -V
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2006-03-19 14:48:51 UTC
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.
Comment 5 John Sonnenschein 2006-03-19 16:02:42 UTC
Created attachment 82627 [details]
The CONTENTS file from mod_perl
Comment 6 John Sonnenschein 2006-03-19 16:05:37 UTC
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
    .
Comment 7 Michael Cummings (RETIRED) gentoo-dev 2006-03-19 19:32:49 UTC
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?
Comment 8 John Sonnenschein 2006-03-19 23:11:42 UTC
(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... 
Comment 9 Yuval Yaari (RETIRED) gentoo-dev 2006-03-19 23:30:28 UTC
"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 ;-))...
Comment 10 John Sonnenschein 2006-03-19 23:42:07 UTC
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.