libapreq2-2.08 installation troubles - missing mod_perl source files
Im sorry to ask this question but I have been looking for answers to this problem for many hours and Ive found partial answers that I don't understand. I can usually solve problems but this one has me stumped. Im trying to install libapreq2-2.08 on my debian box with Apache2.2.4 and mod_perl 2.03 (with Perl 5.8.8) Ive compiled apache/mod_perl/perl from source. My configure line is: ./configure --enable-perl-glue --with-apache2-apxs=/usr/local/apache2/bin/apxs --with-perl=/usr/local/bin/perl I don't get any problems with configuring.everything looks good. When I 'make' I get the following log. 8 snip make[2]: Entering directory `/usr/local/src/libapreq2-2.08/glue/perl' cp lib/Apache2/Cookie.pm blib/lib/Apache2/Cookie.pm cp lib/Apache2/Upload.pm blib/lib/Apache2/Upload.pm cp lib/Apache2/Request.pm blib/lib/Apache2/Request.pm make[3]: Entering directory `/usr/local/src/libapreq2-2.08/glue/perl/xs' make[4]: Entering directory `/usr/local/src/libapreq2-2.08/glue/perl/xs/APR' make[5]: Entering directory `/usr/local/src/libapreq2-2.08/glue/perl/xs/APR/Request' cp Request.pm ../../../blib/lib/APR/Request.pm cp Request.pod ../../../blib/lib/APR/Request.pod make[6]: Entering directory `/usr/local/src/libapreq2-2.08/glue/perl/xs/APR/Request/Apache2' cp Apache2.pm ../../../../blib/lib/APR/Request/Apache2.pm cp Apache2.pod ../../../../blib/lib/APR/Request/Apache2.pod /usr/local/bin/perl /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap -typemap /usr/local/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/auto/Apache2/ty pemap -typemap ../../../typemap Apache2.xs Apache2.xsc mv Apache2.xsc Apache2.c cc -c -I/usr/local/src/libapreq2-2.08/glue/perl/xs -I/usr/local/src/libapreq2-2.08/include -I/usr/local/src/libapreq2-2.08/glue/perl/xsbuilder -I/usr/local/apache2/include -I/usr/local/apache2/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/lib/perl5/5.8.8/i686-linux-thread-multi/CORE -DMOD_PERL -DMP_COMPAT_1X -DLINUX=2 -D_LARGEFILE64_SOURCE -O2 -DVERSION=\2.08\ -DXS_VERSION=\2.08\ -fpic -I/usr/local/lib/perl5/5.8.8/i686-linux-thread-multi/CORE Apache2.c In file included from Apache2.xs:39: /usr/local/src/libapreq2-2.08/glue/perl/xsbuilder/apreq_xs_postperl.h:21:34: error: modperl_perl_unembed.h: No such file or directory /usr/local/src/libapreq2-2.08/glue/perl/xsbuilder/apreq_xs_postperl.h:24:33: error: modperl_common_util.h: No such file or directory In file included from Apache2.xs:45: /usr/local/src/libapreq2-2.08/glue/perl/xsbuilder/APR/Request/Apache2/APR__R equest__Apache2.h:1:22: error: mod_perl.h: No such file or directory Apache2.c: In function 'XS_APR__Request__Apache2_handle': Apache2.c:66: warning: initialization makes pointer from integer without a cast make[6]: *** [Apache2.o] Error 1 make[6]: Leaving directory `/usr/local/src/libapreq2-2.08/glue/perl/xs/APR/Request/Apache2' make[5]: *** [subdirs] Error 2 make[5]: Leaving directory `/usr/local/src/libapreq2-2.08/glue/perl/xs/APR/Request' make[4]: *** [subdirs] Error 2 make[4]: Leaving directory `/usr/local/src/libapreq2-2.08/glue/perl/xs/APR' make[3]: *** [subdirs] Error 2 make[3]: Leaving directory `/usr/local/src/libapreq2-2.08/glue/perl/xs' make[2]: *** [subdirs] Error 2 make[2]: Leaving directory `/usr/local/src/libapreq2-2.08/glue/perl' make[1]: *** [perl_glue] Error 2 make[1]: Leaving directory `/usr/local/src/libapreq2-2.08/glue' make: *** [all-recursive] Error 1 I understand what the errors are but Im not sure the best way to fix them. I tried to move the header files in to the right locations needed by make but that only created more errors. Is there some method I need to use to configure the location of the mod_perl2 sources? Some advice here would be greatly appreciated. Cheers, Tom
Re: $r-handler and $r-set_handlers on all files
On 04/19/07 15:19, Perrin Harkins wrote: On 4/19/07, Sergij Borodych [EMAIL PROTECTED] wrote: I check virtual hosts conf and not found difference. The httpd.conf files on the machine that works and the one that doesn't are completely identical? Make sure you are really looking at the correct files. Which apache directives can affect ? Most of them: Location, Directory, Files, etc. thank for advice fixed I found in updir configuration AddHandler server-parsed .html after comment it all works fine mod_perl not might replace this handler :( After I change it to AddOutputFilter Includes html like other servers and now all ok I will be more careful in future -- Sergij Borodych http://bor.org.ua
Re: libapreq2-2.08 installation troubles - missing mod_perl source files
Did you actually make install in the mod_perl source tree ? My configure line is: ./configure --enable-perl-glue --with-apache2-apxs=/usr/local/apache2/bin/apxs --with-perl=/usr/local/bin/perl I use this typically ./configure \ --prefix=$SOFTWARE/apreq/2.08/5.8.8-2.2.4-prefork-2.0.3 \ --with-perl=$SOFTWARE/perl/5.8.8/bin/perl \ --with-apache2-apxs=$SOFTWARE/httpd/2.2.4/prefork/bin/apxs \ --enable-perl-glue \ --enable-maintainer-mode Also, fixed in svn for 2.09 is an bug for autoconf 2.60 Other versions work fine. I believe you are hitting the autoconf bug based on the below combined with forgetting to do a make install in the mod_perl tree. Changes: Build [Philip M. Gollucci] code around |#_!!_#| autoconf 2.60 bug. http://svn.apache.org/viewvc?view=revrevision=439245 cc -c -I/usr/local/src/libapreq2-2.08/glue/perl/xs -I/usr/local/src/libapreq2-2.08/include -I/usr/local/src/libapreq2-2.08/glue/perl/xsbuilder -I/usr/local/apache2/include -I/usr/local/apache2/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/lib/perl5/5.8.8/i686-linux-thread-multi/CORE -DMOD_PERL -DMP_COMPAT_1X -DLINUX=2 -D_LARGEFILE64_SOURCE -O2 -DVERSION=\2.08\ -DXS_VERSION=\2.08\ -fpic -I/usr/local/lib/perl5/5.8.8/i686-linux-thread-multi/CORE Apache2.c In file included from Apache2.xs:39: /usr/local/src/libapreq2-2.08/glue/perl/xsbuilder/apreq_xs_postperl.h:21:34: error: modperl_perl_unembed.h: No such file or directory /usr/local/src/libapreq2-2.08/glue/perl/xsbuilder/apreq_xs_postperl.h:24:33: error: modperl_common_util.h: No such file or directory In file included from Apache2.xs:45: /usr/local/src/libapreq2-2.08/glue/perl/xsbuilder/APR/Request/Apache2/APR__R equest__Apache2.h:1:22: error: mod_perl.h: No such file or directory Apache2.c: In function 'XS_APR__Request__Apache2_handle': Apache2.c:66: warning: initialization makes pointer from integer without a -- Philip M. Gollucci ([EMAIL PROTECTED]) 323.219.4708 Consultant / http://p6m7g8.net/Resume/resume.shtml Senior Software Engineer - TicketMaster - http://ticketmaster.com 1024D/EC88A0BF 0DE5 C55C 6BF3 B235 2DAB B89E 1324 9B4F EC88 A0BF Work like you don't need the money, love like you'll never get hurt, and dance like nobody's watching.
Fwd: mod_perl.
Guys, can you help me with this issue ? I will greatly appreciate -- Forwarded message -- From: Asim Zfafir [EMAIL PROTECTED] Date: Apr 20, 2007 4:42 PM Subject: mod_perl. To: [EMAIL PROTECTED] Hi .. I got your email address from the Perl mailing list. IT appears to me that you know Perl a lil better then me. At the moment, I am trying to get my self familiar with Perl and Mod_Perl interface. I am having issues using some mod_perl routines ( i guess). here is what I am running on my mandriva linux box I did the following: [EMAIL PROTECTED] /]# apachectl -v Server version: Apache/2.2.3 Server built: Jul 28 2006 12:12:07 and it returned me the val of Server Version : Apache / 2.2.3 does that mean that I got my Apache webserver all set? What is Apache 1.3 server? is it different then HTTP Server? I tried writing a small perl program and tried to read the output, i was able to read it via web-server interface - that should mean that I have mod-perl configured. ? is that enough? or should i check it more? I wanted to monitor my server resources by using Apache::Vmonitor module, I tried adding the following lines to perl conf file in /etc/httpd/module/75_modperl.conf Location SetHandler perl-script PerlHander Apache::Vmonitor Options ExecCGI ... ... /Location When i tried to shut the apachetl server, i got the error msg stating that Perlhandler is not recoganized synatx.. I am sure I am missing something here, Can you guide me to get out of this issue? Thanks, Asim
Re: mod_perl.
Asim, Apache is the name of the web server. There are 2 main versions - Apache 1.x (1.3) and Apache 2.x. Obviously, the 2.x version is newer and has more features, a cleaner configuration interface, etc. The source code for the Apache webserver is available from the http://httpd.apache.org/ website. You can also find a lot of documentation on how to compile and configure the webserver. Perl is a programming language which you need to learn before you start working in mod_perl. There are a dozen ways to learn Perl. There are a lot of resources available on line. You can also just buy a book and learn it the good old way. Programming Perl (aka the camel book) is generally considered to be a very good book. I highly recommend you get it if you are planning to do Perl work. mod_perl is an Apache module that allows you to have your Perl programs be compiled and cached within the Apache server. The mod_perl approach increases the memory footprint of the Apache server but allows your Perl programs to run much faster (vs CGI). There is a lot more to it, but you need to read the documentation to get a better understanding of how things fit together. http://perl.apache.org/ is the official website for mod_perl and http://perl.apache.org/docs/2.0/user/intro/start_fast.html is a good place to start learning mod_perl. Please read the documentation. You can learn a lot from it. Good luck. Arsh On 4/20/07, Asim Zfafir [EMAIL PROTECTED] wrote: Guys, can you help me with this issue ? I will greatly appreciate -- Forwarded message -- From: Asim Zfafir [EMAIL PROTECTED] Date: Apr 20, 2007 4:42 PM Subject: mod_perl. To: [EMAIL PROTECTED] Hi .. I got your email address from the Perl mailing list. IT appears to me that you know Perl a lil better then me. At the moment, I am trying to get my self familiar with Perl and Mod_Perl interface. I am having issues using some mod_perl routines ( i guess). here is what I am running on my mandriva linux box I did the following: [EMAIL PROTECTED] /]# apachectl -v Server version: Apache/2.2.3 Server built: Jul 28 2006 12:12:07 and it returned me the val of Server Version : Apache / 2.2.3 does that mean that I got my Apache webserver all set? What is Apache 1.3 server? is it different then HTTP Server? I tried writing a small perl program and tried to read the output, i was able to read it via web-server interface - that should mean that I have mod-perl configured. ? is that enough? or should i check it more? I wanted to monitor my server resources by using Apache::Vmonitor module, I tried adding the following lines to perl conf file in /etc/httpd/module/75_modperl.conf Location SetHandler perl-script PerlHander Apache::Vmonitor Options ExecCGI ... ... /Location When i tried to shut the apachetl server, i got the error msg stating that Perlhandler is not recoganized synatx.. I am sure I am missing something here, Can you guide me to get out of this issue? Thanks, Asim
Fwd: mod_perl.
FYI To you all -- Forwarded message -- From: Asim Zfafir [EMAIL PROTECTED] Date: Apr 20, 2007 5:24 PM Subject: Re: mod_perl. To: Arshavir Grigorian [EMAIL PROTECTED] Arsh, Thanks for the detailed email. I have familiarity with Perl and have coded in perl before, its just that I am trying to get hands on it again. Basically, i have my apache web server running fine, i was able to read some basic mod-perl script too, but it appeared as if i didn't had mod-perl properly configured. first i was confused, if apachetcl is reading mod-perl config parameters from /etc/httpd/75_modperl.conf (i just recalled this path, pardon if thats not correct) or i need to define the mod_perl module in httpd.conf itself. I was trying to use Apache::Vmonitor feature as I mentioned in my previous email. anyways, I figured now that i didn;t had the source for apache 2.2.x but anyways, i went and download the src for apache.1.3.x (just so that i can compile mod_perl) and then I got mod_perl src from apache's website. i put untar'd unziped the files in /home/stas/src - and then i ran the following command... perl Makefile.PL APACHE_SRC=/home/stas/src/apache_1.3.37/src DO_HTTPD=1 USE APACI=1 EVERYTHING=1 when i did that i got a warning... and this was it.. --- * WARNING * Your Perl is configured to link against libgdbm, but libgdbm.so was not found. You could just symlink it to /usr/lib/libgdbm.so.2.0.0 (To remedy, this I added a symbolic link to /usr/lib/libgdbm.so.2.0.0 in the same directory as ln -s /usr/lib/libgdbm.so.2.0.0 libgdbm.i ran the command again but still i was getting the same warning- i then removed libgdm and renamed the link file to libgdbm.so but still i wasn't able to get rid of the warning...) here was the output from the screen:: [EMAIL PROTECTED] mod_perl-1.30]# ln -s /usr/lib/libgdbm.so.2.0.0 libgdbm.so [EMAIL PROTECTED] mod_perl-1.30]# perl Makefile.PLAPACHE_SRC=/home/stas/src/apache_1.3.37/src DO_HTTPD=1 USE APACI=1 EVERYTHING=1 * WARNING * Your Perl is configured to link against libgdbm, but libgdbm.so was not found. You could just symlink it to /usr/lib/libgdbm.so.2.0.0 * WARNING * Appending mod_perl to src/Configuration Using config file: /home/stas/src/mod_perl-1.30/src/Configuration Creating Makefile + configured for Linux platform + setting C compiler to gcc + setting C pre-processor to gcc -E + using tr [a-z] [A-Z] to uppercase + checking for system header files + adding selected modules + using builtin Expat + checking sizeof various data types + doing sanity check on compiler and options Creating Makefile in support Creating Makefile in regex Creating Makefile in os/unix Creating Makefile in ap Creating Makefile in main Creating Makefile in lib/expat-lite Creating Makefile in modules/standard EXTRA_CFLAGS: -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -DUSE_EXPAT -I$(SRCDIR)/lib/expat-lite -DNO_DL_NEEDED PerlDispatchHandler.enabled PerlChildInitHandlerenabled PerlChildExitHandlerenabled PerlPostReadRequestHandler..enabled PerlTransHandlerenabled PerlHeaderParserHandler.enabled PerlAccessHandler...enabled PerlAuthenHandler...enabled PerlAuthzHandlerenabled PerlTypeHandler.enabled PerlFixupHandlerenabled PerlHandler.enabled PerlLogHandler..enabled PerlInitHandler.enabled PerlCleanupHandler..enabled PerlRestartHandler..enabled PerlStackedHandlers.enabled PerlMethodHandlers..enabled PerlDirectiveHandlers...enabled PerlTableApienabled PerlLogApi..enabled PerlUriApi..enabled PerlUtilApi.enabled PerlFileApi.enabled PerlConnectionApi...enabled PerlServerApi...enabled PerlSectionsenabled PerlSSI.enabled Will run tests as User: 'nobody' Group: 'root' Checking CGI.pm VERSION..ok Checking for LWP::UserAgent..ok Checking for HTML::HeadParserok 'APACI' is not a known MakeMaker parameter name. Writing Makefile for Apache Writing Makefile for Apache::Connection Writing Makefile for Apache::Constants Writing Makefile for Apache::File Writing Makefile for Apache::Leak Writing Makefile for Apache::Log Writing Makefile for Apache::ModuleConfig Writing Makefile for Apache::PerlRunXS Writing Makefile for Apache::Server Writing Makefile for Apache::Symbol Writing Makefile for Apache::Table Writing Makefile for Apache::URI Writing Makefile for Apache::Util Writing Makefile for mod_perl [EMAIL PROTECTED] mod_perl-1.30]# make Makefile out-of-date with respect to Makefile.PL/usr/lib/perl5/5.8.8/i386-linux/Config.pm /usr/lib/perl5/5.8.8/i386-linux/CORE/config.h Cleaning current config before rebuilding Makefile... make -f Makefile.old clean /dev/null 21 /usr/bin/perl Makefile.PL USE APACI=1
Re: mod_perl.
Arsh, I found the prob with APACI parameter, it was actually USE_APACI -- so it was my mistake, i replaced it with USE_APACI=1 and then make file was built with no problems, however, make is failing with 1 errror, can't figure whats that... let me know if you know a fix to this Asim On 4/20/07, Asim Zfafir [EMAIL PROTECTED] wrote: Arsh, Thanks for the detailed email. I have familiarity with Perl and have coded in perl before, its just that I am trying to get hands on it again. Basically, i have my apache web server running fine, i was able to read some basic mod-perl script too, but it appeared as if i didn't had mod-perl properly configured. first i was confused, if apachetcl is reading mod-perl config parameters from /etc/httpd/75_modperl.conf (i just recalled this path, pardon if thats not correct) or i need to define the mod_perl module in httpd.conf itself. I was trying to use Apache::Vmonitor feature as I mentioned in my previous email. anyways, I figured now that i didn;t had the source for apache 2.2.x but anyways, i went and download the src for apache.1.3.x (just so that i can compile mod_perl) and then I got mod_perl src from apache's website. i put untar'd unziped the files in /home/stas/src - and then i ran the following command... perl Makefile.PL APACHE_SRC=/home/stas/src/apache_1.3.37/src DO_HTTPD=1 USE APACI=1 EVERYTHING=1 when i did that i got a warning... and this was it.. --- * WARNING * Your Perl is configured to link against libgdbm, but libgdbm.so was not found. You could just symlink it to /usr/lib/libgdbm.so.2.0.0 (To remedy, this I added a symbolic link to /usr/lib/libgdbm.so.2.0.0 in the same directory as ln -s /usr/lib/libgdbm.so.2.0.0 libgdbm.i ran the command again but still i was getting the same warning- i then removed libgdm and renamed the link file to libgdbm.so but still i wasn't able to get rid of the warning...) here was the output from the screen:: [EMAIL PROTECTED] mod_perl-1.30]# ln -s /usr/lib/libgdbm.so.2.0.0 libgdbm.so [EMAIL PROTECTED] mod_perl-1.30]# perl Makefile.PLAPACHE_SRC=/home/stas/src/apache_1.3.37/src DO_HTTPD=1 USE APACI=1 EVERYTHING=1 * WARNING * Your Perl is configured to link against libgdbm, but libgdbm.so was not found. You could just symlink it to /usr/lib/libgdbm.so.2.0.0 * WARNING * Appending mod_perl to src/Configuration Using config file: /home/stas/src/mod_perl-1.30/src/Configuration Creating Makefile + configured for Linux platform + setting C compiler to gcc + setting C pre-processor to gcc -E + using tr [a-z] [A-Z] to uppercase + checking for system header files + adding selected modules + using builtin Expat + checking sizeof various data types + doing sanity check on compiler and options Creating Makefile in support Creating Makefile in regex Creating Makefile in os/unix Creating Makefile in ap Creating Makefile in main Creating Makefile in lib/expat-lite Creating Makefile in modules/standard EXTRA_CFLAGS: -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -DUSE_EXPAT -I$(SRCDIR)/lib/expat-lite -DNO_DL_NEEDED PerlDispatchHandler.enabled PerlChildInitHandlerenabled PerlChildExitHandlerenabled PerlPostReadRequestHandler..enabled PerlTransHandlerenabled PerlHeaderParserHandler.enabled PerlAccessHandler...enabled PerlAuthenHandler...enabled PerlAuthzHandlerenabled PerlTypeHandler.enabled PerlFixupHandlerenabled PerlHandler.enabled PerlLogHandler..enabled PerlInitHandler.enabled PerlCleanupHandler..enabled PerlRestartHandler..enabled PerlStackedHandlers.enabled PerlMethodHandlers..enabled PerlDirectiveHandlers...enabled PerlTableApienabled PerlLogApi..enabled PerlUriApi..enabled PerlUtilApi.enabled PerlFileApi.enabled PerlConnectionApi...enabled PerlServerApi...enabled PerlSectionsenabled PerlSSI.enabled Will run tests as User: 'nobody' Group: 'root' Checking CGI.pm VERSION..ok Checking for LWP::UserAgent..ok Checking for HTML::HeadParserok 'APACI' is not a known MakeMaker parameter name. Writing Makefile for Apache Writing Makefile for Apache::Connection Writing Makefile for Apache::Constants Writing Makefile for Apache::File Writing Makefile for Apache::Leak Writing Makefile for Apache::Log Writing Makefile for Apache::ModuleConfig Writing Makefile for Apache::PerlRunXS Writing Makefile for Apache::Server Writing Makefile for Apache::Symbol Writing Makefile for Apache::Table Writing Makefile for Apache::URI Writing Makefile for Apache::Util Writing Makefile for mod_perl [EMAIL PROTECTED] mod_perl-1.30]# make Makefile out-of-date with respect to Makefile.PL/usr/lib/perl5/5.8.8/i386-linux/Config.pm