Thanks very much for the help.
I was actually using Apache2::Request->new(), instead of Apache::Request
- just mis-typed in my posting.
Additional information you asked for:
httpd2 version = 2.0.53
mod_perl version = 2.0.2
libapreq2 version = 2.06-dev
OS = Suse 9.3 w/ 2.6.11 kernel
used make for mod_perl and libapreq2.
Perl -V :
------------------
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=linux, osvers=2.6.9, archname=i586-linux-thread-multi
uname='linux salieri 2.6.9 #1 smp fri jan 14 15:41:33 utc 2005 i686
athlon i386 gnulinux '
config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr
-Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm
-Duseshrplib=true -Doptimize=-O2 -march=i586 -mcpu=i686
-fmessage-length=0 -Wall -g -Wall -pipe'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g
-Wall -pipe',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe'
ccversion='', gccversion='3.3.5 20050117 (prerelease) (SUSE Linux)',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =''
libpth=/lib /usr/lib /usr/local/lib
libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.3.4'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-rpath,/usr/lib/perl5/5.8.6/i586-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS
USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Mar 19 2005 17:34:48
@INC:
/usr/lib/perl5/5.8.6/i586-linux-thread-multi
/usr/lib/perl5/5.8.6
/usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl
-----------
I added the modules you suggested to startup.pl. It coughed on the APR
files that didn't get installed from libapreq2 (e.g. Param.pm). I'm
thinking I should just copy all the .pm files from libapreq2 over to
where they should be. Root-causing the thing would feel good, but I'm
not sure it's worth the effort.
-Joshua
Joshua H wrote:
1) When I try to call Apache::Request methods (like new() ), I get an
You want Apache2::Request->new()
or better yet
APR::Request::Apache2->new()
See:
http://httpd.apache.org/apreq/docs/libapreq2/group__apreq__xs__apr__request__apache2.html
error to the effect that it can't find Apache2/Request.pm in @INC.
And indeed although it is in the temp directory that I built
libapreq2 in, it didn't get installed into @INC even though there
were no errors from 'make' or 'make install' . I can copy it (and
the .pm files under APR as well which also didn't get installed) into
@INC directories, but I'm wondering if this is a symptom of a bigger
problem.
They should have been installed.
How about some environment information?
httpd version
mod_perl version
liabpreq version
operating and version system
perl -V
Did you make or gmake ?
If you are using mod_perl older then 2.0.0 upgrade before you do
anything else.
2) My startup.pl file won't load with the line "Use Apache2();" in it,
You'll probably want this in your startup.pl file for libapreq2
use APR::Request ();
use APR::Request::Apache2 ();
use APR::Request::CGI ();
use APR::Request::Cookie ();
use APR::Request::Error ();
use APR::Request::Hook ();
use APR::Request::Param ();
use APR::Request::Parser ();
use Apache2::Upload ();
use Apache2::Request ();
use Apache2::Cookie ();
also with an error that it isn't in @INC. It's actually in @INC, but
under Bundle/. When I include Bundle in @INC, it barfs on a whole
bunch of XS stuff. My startup.pl file is copied here in case I've
made other errors:
Apache2 is obsoleted.
See here:
http://perl.apache.org/docs/2.0/rename.html
LoadModule apreq_module /usr/lib/apache2/mod_apreq2.so
Thats correct.