Hi -- I'm following up on a previous message (below), sorry to break the thread in two. In my first post, I was wondering my handler didn't work. I said "make test" worked fine for mod_perl.
Well, maybe. Here's the output. [EMAIL PROTECTED]:~/source/mod_perl-1.28> make test (cd ../apache_1.3.28 && PERL5LIB=/home/aprk/source/mod_perl-1.28/lib: make) make[1]: Entering directory `/home/aprk/source/apache_1.3.28' ===> src make[2]: Entering directory `/home/aprk/source/apache_1.3.28' make[3]: Entering directory `/home/aprk/source/apache_1.3.28/src' ===> src/regex make[4]: Nothing to be done for `all'. <=== src/regex ===> src/os/unix make[4]: Nothing to be done for `all'. <=== src/os/unix ===> src/ap make[4]: Nothing to be done for `all'. <=== src/ap ===> src/main make[4]: Nothing to be done for `all'. <=== src/main ===> src/lib <=== src/lib ===> src/modules ===> src/modules/standard make[5]: Nothing to be done for `all'. <=== src/modules/standard ===> src/modules/perl make[5]: Nothing to be done for `all'. <=== src/modules/perl <=== src/modules cc -c -I. -I/usr/local/lib/perl5/5.8.0/i686-linux/CORE -I./os/unix -I./include -DLINUX=22 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -DUSE_HSREGEX -DNO_DL_NEEDED -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm `./apaci` modules.c cc -c -I. -I/usr/local/lib/perl5/5.8.0/i686-linux/CORE -I./os/unix -I./include -DLINUX=22 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -DUSE_HSREGEX -DNO_DL_NEEDED -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm `./apaci` buildmark.c cc -DLINUX=22 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -DUSE_HSREGEX -DNO_DL_NEEDED -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm `./apaci` \ -o httpd buildmark.o modules.o modules/standard/libstandard.a modules/perl/libperl.a main/libmain.a ./os/unix/libos.a ap/libap.a regex/libregex.a -lm -lcrypt -rdynamic -L/usr/local/lib /usr/local/lib/perl5/5.8.0/i686-linux/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.0/i686-linux/CORE -lperl -lnsl -ldl -lm -lc -lcrypt -lutil make[3]: Leaving directory `/home/aprk/source/apache_1.3.28/src' make[2]: Leaving directory `/home/aprk/source/apache_1.3.28' make[2]: Entering directory `/home/aprk/source/apache_1.3.28' ===> src/support make[3]: Entering directory `/home/aprk/source/apache_1.3.28/src/support' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/aprk/source/apache_1.3.28/src/support' <=== src/support make[2]: Leaving directory `/home/aprk/source/apache_1.3.28' <=== src make[1]: Leaving directory `/home/aprk/source/apache_1.3.28' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Apache' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Apache' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Connection' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Connection' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Constants' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Constants' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/File' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/File' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Leak' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Leak' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Log' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Log' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/ModuleConfig' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/ModuleConfig' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/PerlRunXS' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/PerlRunXS' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Server' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Server' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Symbol' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Symbol' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Table' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Table' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/URI' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/URI' make[1]: Entering directory `/home/aprk/source/mod_perl-1.28/Util' make[1]: Leaving directory `/home/aprk/source/mod_perl-1.28/Util' cp t/conf/mod_perl_srm.conf t/conf/srm.conf ../apache_1.3.28/src/httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t & httpd listening on port 8529 will write error_log to: t/logs/error_log letting apache warm up...\c done /usr/local/bin/perl t/TEST 0 modules/actions.......ok modules/cgi...........ok modules/constants.....ok modules/cookie........skipped all skipped: no reason given modules/file..........ok modules/httpdconf.....ok modules/include.......ok modules/log...........ok modules/module........skipped all skipped: no reason given modules/perlrun.......ok modules/psections.....skipped all skipped: no reason given modules/request.......skipped all skipped: no reason given modules/src...........ok modules/ssi...........ok modules/stage.........skipped all skipped: no reason given modules/status........ok modules/symbol........skipped all skipped: no reason given modules/uri...........ok modules/util..........ok internal/api..........ok internal/auth.........ok internal/croak........ok internal/dirmagic.....ok internal/error........ok internal/headers......ok internal/hooks........ok internal/http-get.....ok internal/http-post....ok internal/proxy........ok internal/redirect.....ok internal/rwrite.......ok internal/stacked......ok internal/table........ok internal/taint........ok All tests successful, 6 tests skipped. Files=34, Tests=400, 24 wallclock secs (19.31 cusr + 1.50 csys = 20.81 CPU) kill `cat t/logs/httpd.pid` rm -f t/logs/httpd.pid rm -f t/logs/error_log [EMAIL PROTECTED]:~/source/mod_perl-1.28> [EMAIL PROTECTED]:~/source/mod_perl-1.28> [EMAIL PROTECTED]:~/source/mod_perl-1.28> Why did it skip 6 tests? For example, module and request. I think these skipped tests could be what is causing my handlers to fail, even though the server and my perl cgi works. I have one dev box for development and one outside box at an ISP. I am getting these errors on the dev box. To see if the problem was my dev handler or my dev conf files (vs. my dev mod_perl installation), I tried the same handler on the outsider box and got the same error. Seeking suggestions & help -- RKG =================== PREVIOUS POST =================== Hi. I need some help with handlers. I'm a linux newbie. I freshly installed RH 9. I built perl 5.8.0 from source. As non-root, I downloaded source for Apache 1.3.28 and mod_perl 1.28 and built them, using the instructions here http://perl.apache.org/docs/1.0/guide/install.html#A_Summary_of_a_Basic_mod_perl_Installation I've also been using Stas' book, Practical Mod Perl, and the mod_perl developer's cookbook. The only change I made to the A_Summary_of_a_Basic_mod_perl_Installation was using SU to root for the make install for mod_perl. The resulting Apache runs fine. The resuling mod_perl runs cgi-scripts fine. At times I'm running two servers on the same box, one listening to port 80 and one listening to port 8080. I turned off the ssl piece of both servers, as they were colliding on port (I think) 443. I'm not sure if this 2 server issue or the turning ssl is relevant to my problem. Now I'm trying to write my first mod_perl handler: PerlModule Apache::HandlerTest <Location /handlertest> SetHandler perl-script PerlHandler Apache::HandlerTest </Location> package Apache::HandlerTest; # File is called Apache/HandlerTest.pm # Path: /usr/lib/perl5/site_perl/5.8.0/Apache/HandlerTest.pm sub handler { my $r = shift; # Apache session object $r->content_type('text/html'); $r->send_http_header; $r->print( "Hello, world." ); } It dies with an Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request Here's the end of the log [Thu Jul 31 18:34:08 2003] [error] [client 192.168.1.2] Can't locate object method "content_type" via package "Apache::RequestRec" at /usr/lib/perl5/site_perl/5.8.0/Apache/HandlerTest.pm line 6.! [Thu Jul 31 18:34:08 2003] [error] [client 192.168.1.2] File does not exist: /var/www/error As the problem seesm related to finding things, I tried making the handler simpler by using no functions sub handler { print "HTTP/1.0 200 OK\n"; print "Content-Type: text/html\n\n"; print "<html><body>Hello</body></html>"; return 200; } This didn't work either -- [Thu Jul 31 18:42:57 2003] [error] [client 192.168.1.2] Can't locate object method "PRINT" via package "Apache::RequestRec" at /usr/lib/perl5/site_perl/5.8.0/Apache/HandlerTest.pm line 13.! [Thu Jul 31 18:42:57 2003] [error] [client 192.168.1.2] File does not exist: /var/www/error I guess the print is really a call to $r->print() (Practical Mod_perl p 238). This newcomer to mod-perl seeks any help on next steps. RKG __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com