Re: support for Apache 2.4
On 16/02/2014 1:16 PM, Fred Moyer wrote: After a quick chat with Jie, I've updated perl.apache.org and removed the links to the snapshots directory which was broken. Apache.org is no longer supporting snapshot releases, which is why they are no longer available. If you have trouble viewing the updated site, please try 'shift-reload' so that your browser doesn't serve up a cached page. Having just downloaded this latest SVN repo, a grep for 2.4 in the root dir shows a couple of changes, but no explicit mention of 2.4 support. Before I try it, does it actually support 2.4 yet? thank you Carl
Re: tracking a coredump problem
I've got some coredumps now, after starting apache mp with apachectl not the init script. gdb shows this : Core was generated by `/usr/local/apache/2.2.11/bin/httpd -f /etc/httpd/conf/httpd-2.2.11-perl.conf -k'. Program terminated with signal 11, Segmentation fault. #0 0x0030a039 in Perl_pp_rv2cv () from /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so bt full shows a load of info but nothing I can immediately identify as a failure. This is its output : #0 0x0030a039 in Perl_pp_rv2cv () from /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so No symbol table info available. #1 0x002dd88f in Perl_runops_standard () from /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so No symbol table info available. #2 0x0027dffe in Perl_magicname () from /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so No symbol table info available. #3 0x00282806 in Perl_call_sv () from /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so No symbol table info available. #4 0x00604a7f in modperl_callback (my_perl=0x8eac5f8, handler=0x89b93b8, p=0x95efc50, r=0x95efc90, s=0x94d9ec8, args=0x9688e94) at modperl_callback.c:101 items = value optimized out cv = value optimized out sp = (SV **) 0x970ac98 status = 0 #5 0x0060517a in modperl_callback_run_handlers (idx=6, type=4, r=0x95efc90, c=0x0, s=0x94d9ec8, pconf=0x0, plog=0x0, ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:262 my_perl = (PerlInterpreter *) 0x8eac5f8 interp = (modperl_interp_t *) 0x931fe18 scfg = (modperl_config_srv_t *) 0x94dc5e0 dcfg = (modperl_config_dir_t *) 0x94dd4f0 rcfg = (modperl_config_req_t *) 0x95f0a28 handlers = (modperl_handler_t **) 0x89b93e8 p = (apr_pool_t *) 0x95efc50 av = (MpAV *) 0x89b93d0 avp = value optimized out i = 0 status = 0 desc = 0x61ccd3 PerlResponseHandler av_args = (AV *) 0x9688e94 #6 0x0060580a in modperl_callback_per_dir (idx=6, r=0x95efc90, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:369 No locals. #7 0x005fe79f in modperl_response_handler_run (r=0x95efc90, finish=0) at mod_perl.c:1000 retval = value optimized out #8 0x005fe96b in modperl_response_handler_cgi (r=0x95efc90) at mod_perl.c:1100 dcfg = (modperl_config_dir_t *) 0x94dd4f0 h_stdin = (GV *) 0x9688f18 h_stdout = (GV *) 0x9689134 retval = -1 rc = value optimized out rcfg = (modperl_config_req_t *) 0x95f0a28 my_perl = (PerlInterpreter *) 0x8eac5f8 interp = (modperl_interp_t *) 0x931fe18 #9 0x080821e9 in ap_run_handler () No symbol table info available. #10 0x08082933 in ap_invoke_handler () No symbol table info available. #11 0x080e0153 in ap_process_request () No symbol table info available. #12 0x080dcb8f in ap_process_http_connection () No symbol table info available. #13 0x0808a873 in ap_run_process_connection () No symbol table info available. #14 0x0808ac86 in ap_process_connection () No symbol table info available. #15 0x08102a73 in child_main () No symbol table info available. #16 0x08102c5e in make_child () No symbol table info available. #17 0x08102eaf in perform_idle_server_maintenance () No symbol table info available. #18 0x081033d9 in ap_mpm_run () No symbol table info available. #19 0x0806b61c in main () No symbol table info available. Is there anything there that helps find where the problem is?
Re: tracking a coredump problem
eric.b...@barclayscapital.com wrote: Carl, I may have missed it, but did you say at what point you were seeing the segfault? I assume you mean at startup, but can you confirm? Not at startup, it happens after 'a while'. It's very hard to track, and I am stumped at trying to get a core file to see where it's really breaking. My init script (CentOS 5.2): start() { echo -n $Starting $prog: ulimit -S -c unlimited /dev/null 21 LANG=$HTTPD_LANG daemon $httpd $OPTIONS -f $conf RETVAL=$? echo ulimit -c [ $RETVAL = 0 ] touch ${lockfile} return $RETVAL } I must be missing something, I get segfaults but no core dumps and I've finally got to do something about it.
Re: tracking a coredump problem
Philippe M. Chiasson wrote: Selinux enabled ? Good question, I don't think so, but will double-check.
Re: tracking a coredump problem
Carl Brewer wrote: Philippe M. Chiasson wrote: Selinux enabled ? Good question, I don't think so, but will double-check. Nope, selinux is disabled on /etc/selinux/config
Re: tracking a coredump problem
Adam Prime wrote: Carl Brewer wrote: And in the (RHEL/CentOS format) init.d script start() { echo -n $Starting $prog: ulimit -S -c unlimited /dev/null 21 LANG=$HTTPD_LANG daemon $httpd $OPTIONS -f $conf RETVAL=$? echo ulimit -c [ $RETVAL = 0 ] touch ${lockfile} return $RETVAL } Why are there two ulimit lines in here? Does the second one undo what the first one did, causing cores to not get generated? The second one is a debugging thing, it just prints to STDOUT what the ulimit has been set to. When I needed to get cores generated I did exactly what it said here: http://httpd.apache.org/dev/debugging.html#crashes namely, that I ran ulimit in the shell, then in that same shell started apache with apachectl. I was able to generate cores that way. Sure, but I'm not sure why doing that in a startup script doesn't do the same thing? Adam
Re: tracking a coredump problem
Following up on this, I'm still stuck, but maybe someone here can help with a debugging step? I'm trying to get httpd to dump cores, as we're seeing this a lot : [Sun Jan 25 18:14:17 2009] [notice] child pid 20822 exit signal Segmentation fault (11) and I figure a core might just help. So, in httpd-perl's config : CoreDumpDirectory /var/cores and /var/cores is 777 And in the (RHEL/CentOS format) init.d script start() { echo -n $Starting $prog: ulimit -S -c unlimited /dev/null 21 LANG=$HTTPD_LANG daemon $httpd $OPTIONS -f $conf RETVAL=$? echo ulimit -c [ $RETVAL = 0 ] touch ${lockfile} return $RETVAL } I think I got just about everything needed to get a coredump, but nothing shows up in /var/cores, despite many segfaults in the logs. Anything I've missed? Thankyou Carl
tracking a coredump problem
Hello, I'm running apache 2.2.11 with mp2.0.4 and libapreq 2.0.8, or at least, I think I am ... it's on CentOS/RHEL 5.2 We've been having some intermittent segfaults which are proving difficult to track down, and so I seek the help of the list. At startup, httpd reports as follows : Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8b mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.8.8 configured I'm wondering where it's getting mod-apreq2-20051231/2.6.0 from? I built libapreq2 from source and I think I got it right? : $ ./configure --with-apr-config=/usr/local/apache/2.2.11/bin/apr-1-config --prefix=/usr/local/apache/2.2.11 --enable-perl -glue --with-apache2-apxs=/usr/local/apache/2.2.11/bin/apxs and mp2 was built by hand as well, but I'm not sure how to report on the build arguments (no config.[log|status] file) I've used strace to follow all the open()'s when starting httpd and it seems to be looking in the right places : grep libapr trace open(/usr/local/apache/2.2.11/lib/libaprutil-1.so.0, O_RDONLY) = 3 open(/usr/local/apache/2.2.11/lib/libapr-1.so.0, O_RDONLY) = 3 open(/usr/local/apache/2.2.11/lib/libapreq2.so.3, O_RDONLY) = 4 open(/usr/local/apache/2.2.11/lib/libapreq2.so.3, O_RDONLY) = 8 grep Apache2 trace open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/PerlSections.pm, O_RDONLY|O_LARGEFILE) = 7 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/CmdParms.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/XSLoader.pm, O_RDONLY|O_LARGEFILE) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/CmdParms/CmdParms.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Directive.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Directive/Directive.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/ServerRec.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Log.pm, O_RDONLY|O_LARGEFILE) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Log/Log.so, O_RDONLY) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/ServerRec/ServerRec.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/ServerUtil.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/ServerUtil/ServerUtil.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Const.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Const/Const.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Module.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Module/Module.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/RequestUtil.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/RequestUtil/RequestUtil.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Cookie.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/APR/Request/Apache2.pm, O_RDONLY|O_LARGEFILE) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/APR/Request/Apache2/Apache2.so, O_RDONLY) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/RequestRec.pm, O_RDONLY|O_LARGEFILE) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/RequestRec/RequestRec.so, O_RDONLY) = 9 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Request.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Util.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Util/Util.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/URI.pm, O_RDONLY|O_LARGEFILE) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/URI/URI.so, O_RDONLY) = 8 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Response.pm, O_RDONLY|O_LARGEFILE) = 11 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Response/Response.so, O_RDONLY) = 11 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/RequestIO.pm, O_RDONLY|O_LARGEFILE) = 11 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/RequestIO/RequestIO.so, O_RDONLY) = 11 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Apache2/Access.pm, O_RDONLY|O_LARGEFILE) = 11 open(/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/Access/Access.so, O_RDONLY) = 11
a mp/perl equivalent to sendmail.php?
I have a client who wants to send email from a flash script (do you call flash stuff scripts?), and he has asked me to install sendmail.php for him. I don't want to! Can anyone here recommend a modperl (or just plain perl) equivalent that I can lock down so it is less likely to be used as a spam delivery agent? Thanks! Carl
[mp2] porting older mp2 code to 2.0.0 - I'm stuck with params from apreq!
I'm porting my code to mp2.0.0 from 1.99.older (16?) - so far mostly ok, but I'm stuck on a conversion with apreq - I've now got libapreq2-2.05-dev installed (the distributed version, not sucked from svn/cvs). I was using the following code to grab input : sub hash_post { # returns a hash of all the POST values use Apache::Request; my ($r) = shift; my %rethash = {}; my $req = Apache::Request-new($r); my @param_names = $req-param; foreach my $value (@param_names) { $rethash{$value} = $req-param($value); } return %rethash; } It's crude, but it worked with mp1.99 and libapreq 2.04-dev. I've been floundering around with libapreq 2.05-dev tryin to get at the params, but I don't really know what I'm doing - and I haven't been able to find any simple examples in the apreq code - save for some pretty hairy stuff in glue/perl/t/apreq/cgi.t, but isn't apreq supposed to hide all that bucket brigade stuff? I just want the params from my POST and GET requests! Can anyone suggest what simple change I need to make to the above to get it working with mp2.0.0/libapreq-2.05-dev? thanks! Carl
Re: [mp2] porting older mp2 code to 2.0.0 - I'm stuck with params from apreq!
Carl Brewer wrote: If I'd looked in : docs/html/group__apreq__xs__request.html I'd have seen that all I needed to do was to change use Apache::Request; to use Apache2::Request; and my $req = Apache::Request-new($r); to my $req = Apache2::Request-new($r); and it would have just worked! Mea Culpa Carl
Re: mod_perl 2 Sessions
Perrin Harkins wrote: On Thu, 2004-10-28 at 11:53, Geoffrey Young wrote: I'm sure others can point out additional tools as well. Apache::SessionManager is a good place for newbies to start with sessions under mod_perl: http://search.cpan.org/~enrys/Apache-SessionManager-1.02/ Further to that, Session may be worth a look : http://search.cpan.org/~rsoliv/Session-0.01/Session.pm -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp2] modperl not reloading files when changed
Hello, I've got a couple of files, a script and a library, and I'm not sure of what I'm doing wrong in terms of telling modperl to watch them for changes. I have the following in httpd.conf : for my virtual host : PerlModule Apache2 PerlRequire /home/benfab/lib/startup.pl PerlModule Apache::Reload PerlModule Apache::Request PerlModule Apache::Cookie PerlInitHandler Apache::Reload # PerlSetVar ReloadAll Off Location /perl/ SetOutputFilter DEFLATE #SetHandler perl-script SetHandler modperl PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders PerlOptions +GlobalRequest Options +ExecCGI /Location startup.pl has : # http://perl.apache.org/docs/2.0/user/config/config.html use Apache2 (); use lib qw(/home/benfab/lib); use ModPerl::Util (); #for CORE::GLOBAL::exit use Apache::RequestRec (); use Apache::RequestIO (); use Apache::RequestUtil (); use Apache::ServerRec (); use Apache::ServerUtil (); use Apache::Connection (); use Apache::Log (); use APR::Table (); use APR::Pool (); use ModPerl::Registry (); use Apache::Const -compile = ':common'; use APR::Const -compile = ':common'; 1; Do I need to put something in my script and library to tell Apache/mod_perl to watch them? This is in my library : # tell Apache we're volatile, watch for changes ... use Apache::Reload; Does that also need to be in my calling script for it to be noticed? thanks! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp2] can't locate object method upload via package Apache::RequestRec
Forgive my poor perl and understanding of how this works! I'm trying to grab images from a form, using libapreq2, and I'm seeing this error : [Sun Nov 07 10:52:34 2004] [error] Can't locate object method upload via package Apache::RequestRec at /home/benfab/lib/BF.pm line 135.\n I've a library I'm writing, BF.pm, that has the following two subroutines in it : sub hash_post { # returns a hash of all the POST values use Apache::Request; use Apache::Upload; my ($r) = shift; my %rethash = {}; my $req = Apache::Request-new($r); my @param_names = $req-param; foreach my $value (@param_names) { $rethash{$value} = $req-param($value); } return %rethash; } sub get_uploaded_image { my ($name, $max_size, $r) = @_; use Apache::Upload; my $upload = $r-upload($name); print STDERR $upload-filename(); } They're pretty crude, but hash_post does what I need (any suggestions for improvemend gladly accepted!). I'm working on the get_uploaded_image() at the moment (as you can see, it doesn't do anything yet!) I've declared $r in my calling script, and I'm not sure if I need to declare it again in the subroutines? The calling script looks like this : my $r = Apache-request; $r-content_type(text/html); use lib qw(/home/benfab/lib); use BF; use Template; use Data::Dumper; use strict; . . . my %posted_data = BF::hash_post($r); my $upload = BF::get_uploaded_image(small_image, $BF::small_image_size, $r); If I change my subroutine to this : sub get_uploaded_image { my ($name, $max_size, $r) = @_; use Apache::Upload; my $req = Apache::Request-new($r); my $upload = $req-upload($name); print STDERR $upload-filename(); } It starts to work, but I don't understand why I need to declare $req again here? I want to keep my form parsing image stuff seperate, as not all my pages will have images to load, am I doing this the 'best' way? thanks! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] can't locate object method upload via package Apache::RequestRec
Tom Schindl wrote: Carl Brewer wrote: sub get_uploaded_image { my ($name, $max_size, $r) = @_; use Apache::Upload; my $req = Apache::Request-new($r); my $upload = $req-upload($name); I've got that in my subroutine and it works, but I'm concerned that I'm dipping into the buckets too much? Is it safe to call on $r more than once per form submission? I'm already runnign the new request() in a subroutine I call before I call the Upload one. thanks again, Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] mason and not using compat? - Can't locate object method server_root_relative
Philippe M. Chiasson wrote: Carl Brewer wrote: I believe there is a CPAN module that makes it a bit cleaner and less hack-ish: MasonX::Apache2Handler http://search.cpan.org/dist/MasonX-Apache2Handler Thanks Philippe, I've found that now and built a NetBSD pkg for it. But, I'm having trouble using it. I really want to stay clear of mp1, but am having trouble getting this handler to work. I keep seeing this : [Tue Oct 26 13:28:53 2004] [error] [client 211.26.251.34] Can't locate object method server_root_relative via package Apache::ServerRec at /usr/pkg/lib/perl5/site_perl/5.8.4/MasonX/Apache2Handler.pm line 618.\n My setup at the moment (which is very fluid as I try things to try and fix the problem!) : VirtualHost 203.6.241.155 DocumentRoot /home/benfab/htdocs ServerName benfab.bl.echidna.id.au ErrorLog /home/benfab/logs/error_log CustomLog /home/benfab/logs/access_log common Alias /admin/ /home/benfab/admin/ # these four lines apply to Apache2+mod_perl2 only: {{{ PerlSetVar MasonArgsMethod CGI #PerlModule Apache2 Apache::compat PerlModule Apache2 PerlRequire /home/benfab/lib/startup.pl #PerlModule Apache::Reload #PerlModule Apache::Request #PerlModule Apache::Cookie #PerlInitHandler Apache::Reload #PerlSetVar ReloadAll Off #PerlSetVar _MasonUser www #PerlSetVar _MasonGroup www #PerlSetVar _MasonDefaultDocumentRoot /home/benfab/htdocs #RewriteEngine On #RewriteRule ^(.*)/$ $1/index.html LocationMatch (\.html|\.txt|\.pl)$ SetHandler perl-script #PerlHandler HTML::Mason::ApacheHandler PerlResponseHandler MasonX::Apache2Handler /LocationMatch LocationMatch (\.m(html|txt|pl)|dhandler|autohandler)$ SetHandler perl-script #PerlInitHandler Apache::Constants::NOT_FOUND /LocationMatch Location / #SetHandler perl-script #PerlHandler HTML::Mason::ApacheHandler SetOutputFilter DEFLATE /Location /VirtualHost the startup.pl script is : # http://perl.apache.org/docs/2.0/user/config/config.html use Apache2 (); # /usr/pkg/lib/perl5/site_perl/5.8.4/HTML/Mason/ApacheHandler.pm use lib qw(/home/benfab/lib /usr/pkg/lib/perl5/site_perl/5.8.4/HTML/Mason/); use ModPerl::Util (); #for CORE::GLOBAL::exit use Apache::RequestRec (); use Apache::RequestIO (); use Apache::RequestUtil (); use Apache::ServerRec (); use Apache::ServerUtil (); use Apache::Connection (); use Apache::Log (); use APR::Table (); use APR::Pool (); use ModPerl::Registry (); use Apache::Const -compile = ':common'; use APR::Const -compile = ':common'; 1; From googling around, the error message is something to do with mp2 in compat mode, which I'm specifically trying to eliminate and avoid - and as my test page is simply this : /home/benfab/htdocs/index.html % 2+2 % I'm not using anything that should or could call it? any suggestions? Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] mason and not using compat? - Can't locate object method server_root_relative
Randy Kobes wrote: From the mp2 Changes file, ($r|$c|$s)-server_root_relative has been removed. There is a suggested alternative, which for MasonX::Apache2Handler translates to (untested): === --- Apache2Handler.pm~ Sun Apr 11 17:02:16 2004 +++ Apache2Handler.pm Mon Oct 25 22:47:12 2004 @@ -615,7 +615,7 @@ if (exists $allowed_params-{data_dir} and not exists $params{data_dir}) { # constructs path to server root/mason - my $def = $defaults{data_dir} = Apache-server-server_root_relative('mason'); +my $def = $defaults{data_dir} = File::Spec-catfile(Apache::ServerUtil::server_root, 'mason'); param_error Default data_dir (MasonDataDir) '$def' must be an absolute path unless File::Spec-file_name_is_absolute($def); = Thanks Randy, Has this been submitted to Beau Cox by you or anyone? Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] mason and not using compat? - Can't locate object method server_root_relative
Randy Kobes wrote: From the mp2 Changes file, ($r|$c|$s)-server_root_relative has been removed. There is a suggested alternative, which for MasonX::Apache2Handler translates to (untested): === --- Apache2Handler.pm~ Sun Apr 11 17:02:16 2004 +++ Apache2Handler.pm Mon Oct 25 22:47:12 2004 @@ -615,7 +615,7 @@ if (exists $allowed_params-{data_dir} and not exists $params{data_dir}) { # constructs path to server root/mason - my $def = $defaults{data_dir} = Apache-server-server_root_relative('mason'); +my $def = $defaults{data_dir} = File::Spec-catfile(Apache::ServerUtil::server_root, 'mason'); param_error Default data_dir (MasonDataDir) '$def' must be an absolute path unless File::Spec-file_name_is_absolute($def); = That works, btw. Thankyou. Now if Beau can update the Apache2Handler, it'll all be good! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp2] mason and not using compat?
Hello, I'm fiddling with Mason on apache2 (NetBSD 1.6.2 2.0RC's) and I'd like to use mp2 in native mode, not compat. I found : http://www.masonhq.com/?ApacheModPerl2 And the hack in there I haven't yet tried, but does anyone know of any plans to make this a bit neater? Thanks Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [RELEASE CANDIDATE] mod_perl-1.99_17 RC1
Philippe M. Chiasson wrote: a release candidate for mod_perl 1.99_17 is now available for testing. Compiled works like a charm on NetBSD 1.6.2/i386 with normal (BSD) make even. mp2bug can't find the httpd binaryu though, but that's pretty minor. steel1: {15} perl mp2bug -8-- Start Bug Report 8-- 1. Problem Description: [DESCRIBE THE PROBLEM HERE] 2. Used Components and their Configuration: *** mod_perl version 1.9917 *** using /data/src/modperl-2.0/bin/../lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_APR_LIB = aprext MP_APXS= /usr/local/apache2/bin/apxs MP_COMPAT_1X = 1 MP_GENERATE_XS = 1 MP_LIBNAME = mod_perl MP_USE_DSO = 1 *** The httpd binary was not found *** (apr|apu)-config linking info -L/usr/local/apache2/lib -lapr-0 -lm -lcrypt -lresolv -L/usr/local/apache2/lib -laprutil-0 -lexpat *** /usr/local/perl-5.8.5/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=netbsd, osvers=1.6.2, archname=i386-netbsd uname='netbsd steel1.stealstopper.com 1.6.2 netbsd 1.6.2 (generic) #0: tue feb 10 21:53:10 utc 2004 [EMAIL PROTECTED]:autobuildnetbsd-1-6-patch002i386objautobuildnetbsd-1-6-patch002srcsysarchi386compilegeneric i386 ' config_args='' 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=undef use64bitall=undef uselongdouble=undef usemymalloc=y, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/usr/pkg/include', optimize='-O', cppflags='-fno-strict-aliasing -pipe -I/usr/pkg/include' ccversion='', gccversion='2.95.3 20010315 (release) (NetBSD nb3)', 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 =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/pkg/lib -L/usr/local/lib' libpth=/usr/pkg/lib /usr/local/lib /usr/lib libs=-lm -lcrypt -lutil -lc -lposix perllibs=-lm -lcrypt -lutil -lc -lposix libc=/usr/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-R/usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared -L/usr/pkg/lib -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under netbsd Compiled at Aug 25 2004 14:17:37 %ENV: PERL_LWP_USE_HTTP_10=1 @INC: /usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd /usr/local/perl-5.8.5/lib/5.8.5 /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd /usr/local/perl-5.8.5/lib/site_perl/5.8.5 /usr/local/perl-5.8.5/lib/site_perl /usr/local/perl-5.8.4 /usr/local/perl-5.8.1 . *** Packages of interest status: Apache::Request: - CGI: 3.05 LWP: 5.800 mod_perl : 1.9917 3. This is the core dump trace: (if you get a core dump): [CORE TRACE COMES HERE] This report was generated by mp2bug on Tue Oct 19 22:37:48 2004 GMT. -8-- End Bug Report --8-- steel1: {20} /usr/local/apache2/bin/httpd -V Server version: Apache/2.0.52 Server built: Sep 29 2004 08:31:16 Server's Module Magic Number: 20020903:9 Architecture: 32-bit Server compiled with -D APACHE_MPM_DIR=server/mpm/prefork -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled) -D APR_USE_SYSVSEM_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT=/usr/local/apache2 -D SUEXEC_BIN=/usr/local/apache2/bin/suexec -D DEFAULT_PIDLOG=logs/httpd.pid -D DEFAULT_SCOREBOARD=logs/apache_runtime_status -D DEFAULT_LOCKFILE=logs/accept.lock -D DEFAULT_ERRORLOG=logs/error_log -D AP_TYPES_CONFIG_FILE=conf/mime.types -D SERVER_CONFIG_FILE=conf/httpd.conf -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [RELEASE CANDIDATE] mod_perl-1.99_17 RC1
Philippe M. Chiasson wrote: Could you post your /data/src/modperl-2.0/bin/../lib/Apache/BuildConfig.pm in it's entirety ? steel1: {23} cat /data/src/modperl-2.0/bin/../lib/Apache/BuildConfig.pm # # /* # * *** WARNING ** # * This file generated by Apache::Build/0.01 # * Any changes made here will be lost # * *** # * 01: lib/ModPerl/Code.pm:702 # * 02: lib/Apache/Build.pm:810 # * 03: lib/Apache/Build.pm:827 # * 04: Makefile.PL:326 # * 05: Makefile.PL:92 # */ # package Apache::BuildConfig; use Apache::Build (); sub new { bless( { 'MODPERL_AR' = 'ar', 'MODPERL_OBJ_EXT' = '.o', 'ap_includedir' = '/usr/local/apache2/include', 'MODPERL_O_FILES' = 'mod_perl.o modperl_interp.o modperl_tipool.o modperl_log.o modperl_config.o modperl_cmd.o modperl_options.o modperl_callback.o modperl_handler.o modperl_gtop.o modperl_util.o modperl_io.o modperl_io_apache.o modperl_filter.o modperl_bucket.o modperl_mgv.o modperl_pcw.o modperl_global.o modperl_env.o modperl_cgi.o modperl_perl.o modperl_perl_global.o modperl_perl_pp.o modperl_sys.o modperl_module.o modperl_svptr_table.o modperl_const.o modperl_constants.o modperl_apache_compat.o modperl_error.o modperl_debug.o modperl_common_util.o modperl_common_log.o modperl_hooks.o modperl_directives.o modperl_flags.o modperl_xsinit.o modperl_exports.o', 'MP_USE_DSO' = 1, 'MODPERL_O_PIC_FILES' = 'mod_perl.lo modperl_interp.lo modperl_tipool.lo modperl_log.lo modperl_config.lo modperl_cmd.lo modperl_options.lo modperl_callback.lo modperl_handler.lo modperl_gtop.lo modperl_util.lo modperl_io.lo modperl_io_apache.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo modperl_module.lo modperl_svptr_table.lo modperl_const.lo modperl_constants.lo modperl_apache_compat.lo modperl_error.lo modperl_debug.lo modperl_common_util.lo modperl_common_log.lo modperl_hooks.lo modperl_directives.lo modperl_flags.lo modperl_xsinit.lo modperl_exports.lo', 'MP_APXS' = '/usr/local/apache2/bin/apxs', 'MODPERL_AP_INCLUDEDIR' = '/usr/local/apache2/include', 'apr_bindir' = '/usr/local/apache2/bin', 'APXS_INCLUDEDIR' = '/usr/local/apache2/include', 'MODPERL_RM' = 'rm', 'file_ldopts' = 'src/modules/perl/ldopts', 'MODPERL_CPPRUN' = 'cc -E', 'cwd' = '/data/src/modperl-2.0', 'MODPERL_RANLIB' = ':', 'MP_GENERATE_XS' = 1, 'APXS_APU_BINDIR' = '/usr/local/apache2/bin', 'MODPERL_ARCHLIBEXP' = '/usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd', 'MODPERL_LIB_DSO' = 'mod_perl.so', 'APXS_BINDIR' = '/usr/local/apache2/bin', 'MODPERL_XSUBPP' = '$(MODPERL_PERLPATH) $(MODPERL_PRIVLIBEXP)/ExtUtils/xsubpp -typemap $(MODPERL_PRIVLIBEXP)/ExtUtils/typemap -typemap /data/src/modperl-2.0/lib/typemap', 'MODPERL_PRIVLIBEXP' = '/usr/local/perl-5.8.5/lib/5.8.5', 'MODPERL_LIB_STATIC' = 'mod_perl.a', 'MODPERL_RM_F' = 'rm -f', 'MODPERL_MAKEFILE' = 'Makefile', 'MODPERL_CCOPTS' = ' -fno-strict-aliasing -pipe -I/usr/pkg/include -I/usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd/CORE -DMOD_PERL -DMP_COMPAT_1X -DNETBSD', 'MODPERL_LDDLFLAGS' = '--whole-archive -shared -L/usr/pkg/lib -L/usr/local/lib', 'MODPERL_INC' = '-I/data/src/modperl-2.0/src/modules/perl -I/data/src/modperl-2.0/xs -I/usr/local/apache2/include -I /usr/local/apache2/include -I/usr/local/apache2/include', 'file_build_config' = 'lib/Apache/BuildConfig.pm', 'XS' = {}, 'httpd_version' = { '/usr/local/apache2/include' = '2.0.52' }, 'MP_COMPAT_1X' = 1, 'apr_config' = { 'HAS_FORK' = '1', 'HAS_THREADS' = '0', 'HAS_MMAP' = '1', 'HAS_RANDOM' = '1', 'HAS_DSO' = '1', 'HAS_SENDFILE' = '0', 'HAS_LARGE_FILES' = '0', 'HAS_INLINE' = '1' }, 'MODPERL_LIBNAME' = 'mod_perl', 'apr_config_path' = '/usr/local/apache2/bin/apr-config', 'MODPERL_LIB_EXT' = '.a', 'MODPERL_C_FILES' = 'mod_perl.c modperl_interp.c modperl_tipool.c modperl_log.c modperl_config.c modperl_cmd.c
[mp2] how far off feature-freeze is mp2?
Hello Stas et al, Just a quick question; how far off a feature-freeze is MP2? ie: if I wanted to write a moderatly serious e-commerce app in mp, is it safe to use mp2 and apreq2? thanks! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] NetBSD-1.6.2 modperl 1.99_16 httpd 2.0.51-dev make test errors
Joe Orton wrote: Oh well, having found a NetBSD box to testd this myself, the NetBSD fcntl() is being economical with the truth. It doesn't return O_NONBLOCK yet the socket really is non-blocking. I'll put in the suggested apr_hints.m4 change. fun fun This may be worth bringing to the attention of the NetBSD core team, as there's a 2.0 release coming up pretty soon, it may be a bugfix worth including. -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] NetBSD-1.6.2 modperl 1.99_16 httpd 2.0.51-dev make test errors
[EMAIL PROTECTED] wrote: but make install for modperl-1.99_16 fails with the following: /usr/pkg/bin/perl -Iblib/lib/Apache2 -I/usr/home/mgorb/mp-test/mod_perl-1.99_16/Apache-Test/lib -MModPerl::BuildMM -e ModPerl::BuildMM::glue_pod WrapXS/APR/ThreadMutex/ThreadMutex.pm /usr/home/mgorb/mp-test/mod_perl-1.99_16/docs/api/APR/ThreadMutex.pod blib/lib/Apache2/APR/ThreadMutex.pm glue_pod: can't find blib/lib/Apache2/APR/ThreadMutex.pm at blib/lib/Apache2/ModPerl/BuildMM.pm line 275. *** Error code 2 I see the same problem on my i386 NetBSD 1.6.2 box. -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] Known problem with mod_perl 1.99_16 on FreeBSD 5 ?
Stas Bekman wrote: that seems to be a MakeMaker bug on some BSDs. Please see: http://rt.cpan.org/NoAuth/Bug.html?id=7417 The solution seems to be to use gmake. At least it worked for Carl on NetBSD. It works for me with gmake, yes. There's another problem I haven't had time yet to report though, but it may be relevant - it doesn't find ThreadMutex.pm at (g)make install time. I just commented the ThreadMutex line out of the makefile and it seems ok to me, but that may not be ideal. Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] any forum/noticeboard apps out there?
Markus Wichitill wrote: Carl Brewer wrote: I've played with installing this today, I'm seeing the following in my error logs : [Thu Sep 02 13:52:41 2004] [error] Can't locate object method cleanup_register via package APR::Pool at /data/www/aboc/perl/mwf/MwfMain.pm line 250.\n Add use APR::Pool (); to your startup.pl, I'll add the missing line to my code in the next version. Perfect, working, thankyou Marus. Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] a little OT, problem finding libapr
Stas Bekman wrote: I'd suggest to completely nuke /usr/local/apache2, install Apache from scratch and chances are that everything will work fine. You have too many old libs there. I did that, and still had the same problem. I ended up setting LD_LIBRARY_PATH to /usr/local/apache2/lib and it was all ok again. I've also moved my code to using apreq2, instead of the Stas Carl hack job I was running :) (I cheated and used a wrapper change, so I didn't have to do wholesale changes to my code). Out of curiosity, is anyone working on docs for apreq2 for people in a hurry? :) Ie: with simple examples in it? Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp2] any forum/noticeboard apps out there?
Before I take the plunge and write my own, has anyone here written, or know of, any web forum s/w that runs under mp2 without using compat? I know web forums are kinda evil, but I've got a genuine use for one where I need to be able to control access to it. thanks! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] any forum/noticeboard apps out there?
Markus Wichitill wrote: Carl Brewer wrote: Before I take the plunge and write my own, has anyone here written, or know of, any web forum s/w that runs under mp2 without using compat? http://www.mwforum.org/ I've played with installing this today, I'm seeing the following in my error logs : [Thu Sep 02 13:52:41 2004] [error] Can't locate object method cleanup_register via package APR::Pool at /data/www/aboc/perl/mwf/MwfMain.pm line 250.\n I've the following in my apache2 config : VirtualHost 203.6.241.141:80 [3ffe:8001:5:2::5]:80 ServerName www.aboc.com.au ServerAdmin [EMAIL PROTECTED] ServerAlias coach.bl.echidna.id.au aboc.com.au DocumentRoot /data/www/aboc/htdocs CustomLog /data/www/aboc/logs/access-log combined ErrorLog /data/www/aboc/logs/error-log # CustomLog /data/www/aboc/logs/mod_deflate deflate Alias /perl/ /data/www/aboc/perl/ Alias /images/ /data/www/aboc/htdocs/images/ Alias /admin/ /data/www/aboc/admin/ Alias /mwf/ /data/www/aboc/perl/mwf/ PerlModule Apache2 PerlSwitches -T #PerlOptions +Parent PerlRequire /data/www/aboc/etc/startup.pl # CB.pm needs to be monitored! PerlModule Apache::Reload PerlInitHandler Apache::Reload PerlSetVar ReloadAll Off DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio Location / SetOutputFilter DEFLATE /Location Location /perl/ SetOutputFilter DEFLATE SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI /Location Location /mwf/ SetOutputFilter DEFLATE Options +ExecCGI SetHandler modperl PerlResponseHandler ModPerl::RegistryBB PerlOptions -GlobalRequest -SetupEnv -ParseHeaders /Location /VirtualHost and my startup.pl is : # http://perl.apache.org/docs/2.0/user/config/config.html use Apache2 (); use lib qw(/data/www/aboc/lib /data/www/aboc/perl/mwf); use ModPerl::Util (); #for CORE::GLOBAL::exit use Apache::RequestRec (); use Apache::RequestIO (); use Apache::RequestUtil (); use Apache::ServerRec (); use Apache::ServerUtil (); use Apache::Connection (); use Apache::Log (); use APR::Table (); use ModPerl::Registry (); use Apache::Const -compile = ':common'; use APR::Const -compile = ':common'; 1; Any suggestions? apache says : Server: Apache/2.0.50 (Unix) mod_perl/1.99_16 Perl/v5.8.5 which should satisfy all mwf's requirements? Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp2] a little OT, problem finding libapr
After upgrading to Stas' latest MP2 stuff a few days ago, I started seeing the following error on a perl script that's not running through mp2, which I thought a little odd! steel1: {12} /data/www/aboc/utils/session_cleanup.pl Can't load '/usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/auto/APR/APR.so' for module APR: Shared object libapr-0.so.9 not found at /usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd/DynaLoader.pm line 230. at /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/APR/Bucket.pm line 23 Compilation failed in require at /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/APR/Bucket.pm line 23. BEGIN failed--compilation aborted at /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/APR/Bucket.pm line 23. Compilation failed in require at /data/www/aboc/lib/CB.pm line 378. BEGIN failed--compilation aborted at /data/www/aboc/lib/CB.pm line 378. Compilation failed in require at /data/www/aboc/utils/session_cleanup.pl line 7. BEGIN failed--compilation aborted at /data/www/aboc/utils/session_cleanup.pl line 7. This is on NetBSD 1.6.2, and libapr-0.so.9 exists : steel1: {13} locate libapr-0.so.9 /usr/local/apache2/lib/libapr-0.so.9 /usr/local/apache2/lib/libapr-0.so.9.2 /usr/local/apache2/lib/libapr-0.so.9.3 /usr/local/apache2/lib/libapr-0.so.9.4 /usr/local/apache2/lib/libapr-0.so.9.5 The offending line in CB.pm is : use APR::Bucket (); Which is obviously Apache stuff, so it's probably been affected by something. I don't understand why it's not seeing the library though? I've tried upgrading to a fresh install of perl 5.8.5 (I was running 5.8.4) and the latest libapreq2 from Joe this morning, and recompiing reinstalling apache2 (2.0.50) hoping that something in one of those installs would fix whatever's not looking for the library in the right place, but to no avail. Any suggestions? thanks! Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] a little OT, problem finding libapr
Stas Bekman wrote: Carl, remember to always file a proper bug report and save yourself and us time. The report includes the info we need. Other than that, please send us the output of: I would, except I don't think it's a bug report, it's probably a stuff-up at my end :) ldd /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/auto/APR/APR.so steel1: {15} ldd /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/auto/AP APR.so /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd/auto/APR/APR.so: -lapr-0.9 = not found -lm.0 = /usr/lib/libm387.so.0 -lm.0 = /usr/lib/libm.so.0 -lcrypt.0 = /usr/lib/libcrypt.so.0 -lresolv.1 = /usr/lib/libresolv.so.1 -laprutil-0.9 = not found -lexpat.5 = /usr/pkg/lib/libexpat.so.5 ls -l /usr/local/apache2/lib/libapr-0.so.9 steel1: {16} ls -l /usr/local/apache2/lib/libapr-0.so.9 lrwxrwxr-x 1 root wheel 15 Aug 25 08:42 /usr/local/apache2/lib/libapr-0.so.9 - libapr-0.so.9.5 Obviously the lapr being missing is a problem! -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] a little OT, problem finding libapr
Please send the output of mp2bug as requested before. Done. I just pulled the latest CVS down, same problem. -8-- Start Bug Report 8-- 1. Problem Description: [DESCRIBE THE PROBLEM HERE] 2. Used Components and their Configuration: *** mod_perl version 1.9917 *** using /data/src/modperl-2.0/bin/../lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_APR_LIB = aprext MP_APXS= /usr/local/apache2/bin/apxs MP_COMPAT_1X = 1 MP_GENERATE_XS = 1 MP_LIBNAME = mod_perl MP_USE_DSO = 1 MP_USE_STATIC = 1 *** The httpd binary was not found *** (apr|apu)-config linking info -L/usr/local/apache2/lib -lapr-0 -lm -lcrypt -lresolv -L/usr/local/apache2/lib -laprutil-0 -lexpat *** /usr/local/perl-5.8.5/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=netbsd, osvers=1.6.2, archname=i386-netbsd uname='netbsd steel1.stealstopper.com 1.6.2 netbsd 1.6.2 (generic) #0: tue feb 10 21:53:10 utc 2004 [EMAIL PROTECTED]:autobuildnetbsd-1-6-patch002i386objautobuildnetbsd-1-6-patch002srcsysarchi386compilegeneric i386 ' config_args='' 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=undef use64bitall=undef uselongdouble=undef usemymalloc=y, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/usr/pkg/include', optimize='-O', cppflags='-fno-strict-aliasing -pipe -I/usr/pkg/include' ccversion='', gccversion='2.95.3 20010315 (release) (NetBSD nb3)', 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 =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/pkg/lib -L/usr/local/lib' libpth=/usr/pkg/lib /usr/local/lib /usr/lib libs=-lm -lcrypt -lutil -lc -lposix perllibs=-lm -lcrypt -lutil -lc -lposix libc=/usr/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-R/usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared -L/usr/pkg/lib -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under netbsd Compiled at Aug 25 2004 14:17:37 %ENV: PERL_LWP_USE_HTTP_10=1 @INC: /usr/local/perl-5.8.5/lib/5.8.5/i386-netbsd /usr/local/perl-5.8.5/lib/5.8.5 /usr/local/perl-5.8.5/lib/site_perl/5.8.5/i386-netbsd /usr/local/perl-5.8.5/lib/site_perl/5.8.5 /usr/local/perl-5.8.5/lib/site_perl /usr/local/perl-5.8.4 /usr/local/perl-5.8.1 . *** Packages of interest status: Apache::Request: - CGI: 3.05 LWP: 5.800 mod_perl : 1.9917 3. This is the core dump trace: (if you get a core dump): [CORE TRACE COMES HERE] This report was generated by ./mp2bug on Fri Aug 27 00:16:18 2004 GMT. -8-- End Bug Report --8-- -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] a little OT, problem finding libapr
I'd suggest to completely nuke /usr/local/apache2, install Apache from scratch and chances are that everything will work fine. You have too many old libs there. I'll give that a go tonight or tomorrow when I get a few spare hours, thanks! -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp2] apache::server missing?
Stas Bekman wrote: Carl Brewer wrote: I've just done a bit of an overhaul of my mp2 install on apache 2.0.50/perl 5.8.5/mp2-current, NetBSD 1.6.2, and am having a few problems. the most critical one is that I can't find apache::server anymore. My old startup.pl scripts had use Apache::Server (); Has this been done away with? I noticed no mention of it in http://perl.apache.org/docs/2.0/user/config/config.html which suggests that it has? I'vr a bunch of compile install errors that I'll post proper bug reports about in dev tonight or tomorrow :) That's what we post the Changes log for: Subject: [ANNOUNCE] mod_perl 1.99_15 mod_perl 1.99_15 is out: [...] Changes since 1.99_14: [...] In order to be consistent with Apache::RequestRec, Apache::Server is now Apache::ServerRec and all methods/functions from Apache::Server now live in Apache::ServerRec. [Stas] Ok :) How abouit this one though? Has APR::brigade changed too? : [Wed Aug 25 18:02:54 2004] [error] Can't locate object method empty via package APR::Brigade at /data/www/aboc/lib/CB.pm line 402.\n This is from : my $bb = APR::Brigade-new($r-pool, $ba); do { my $rv = $filters-get_brigade($bb, Apache::MODE_READBYTES, APR::BLOCK_READ, IOBUFSIZE); if ($rv != APR::SUCCESS) { return $rv; } while (!$bb-empty) { my $buf; Any quick hints? Carl -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp2] code broken by 1.99_15 or _16 or _17-dev
Stas et all, Here's the code that I was using to grab POSTed values and put them into a hash 0 sorry for the verbosity of this post, I won't pretend to fully understand this code, Stas wrote the majority of it way back when libapreq wouldn't compile on NetBSD, and I've been using it ever since. If there's a better way to do this with libapreq, I'd preobably like to move my code over to using it! Code attached, which no longer works : I call this to fill a simple hash, eg : my %posted_data = CB::hash_post($r); sub read_post { use Apache::Filter (); use APR::Bucket (); use APR::Brigade (); use constant IOBUFSIZE = 8192; use Apache::Const -compile = qw(MODE_READBYTES); use APR::Const-compile = qw(SUCCESS BLOCK_READ); use CGI::Util; my $r = shift; my $debug = shift || 0; my @data = (); my $seen_eos = 0; my $filters = $r-input_filters(); my $ba = $r-connection-bucket_alloc; my $bb = APR::Brigade-new($r-pool, $ba); do { my $rv = $filters-get_brigade($bb, Apache::MODE_READBYTES, APR::BLOCK_READ, IOBUFSIZE); if ($rv != APR::SUCCESS) { return $rv; } while (!$bb-is_empty) { my $buf; my $b = $bb-first; $b-remove; if ($b-is_eos) { warn EOS bucket:\n if $debug; $seen_eos++; last; } my $status = $b-read($buf); warn DATA bucket: [$buf]\n if $debug; if ($status != APR::SUCCESS) { return $status; } push @data, $buf; } $bb-destroy; } while (!$seen_eos); my $string = join '', @data; return $string; } sub hash_post { # this has to get called instead of read_post, as read_post() # gobbles up the POST arguments and they're no longer available... # and this calls read_post() :) # returns a hash of all the POST values my ($r) = shift; my $post_string = CB::read_post($r); my %rethash = {}; my @bits = split(//, $post_string); foreach my $bit (@bits) { $bit =~ /^(.*)=(.*)$/; my $key = CGI::Util::unescape($1); my $value = CGI::Util::unescape($2); $rethash{$key} = $value; } return %rethash; } -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [mp1] building mp1 with mod_ssl - what am I doing wrong?
Stas Bekman wrote: Carl, can you build Apache w/o mod_perl w/ the rest of the things? Yes, it's just the mod_perl stuff that's barfing. It looks like the mod_perl make install isn't putting the header files into src/includes/. A quick google shows a bunch of relevant hits: http://www.google.ca/search?hl=enie=UTF-8q=%22os.h%3A+No+such+file+or+directory%22btnG=Searchmeta= Also make sure that you are following the exact instructions from: http://perl.apache.org/docs/1.0/guide/install.html#mod_perl_and_mod_ssl___openssl_ The list of arguments I want to feed to the actual apache configure make this a bit of a pain, and I thought that it wasn't necessary to build httpd from within mod_perl (and indeed it shouldn't be anyway!). But, at your suggestion, I've now done this, following the instructions on the site you referenced : cd openssl-0.9.7d ./config --prefix=/usr/local/openssl-0.9.7d make make test make install then in the mod_perl dir : perl Makefile.PL USE_APACI=1 EVERYTHING=1 DO_HTTPD=1 SSL_BASE=/usr/local/openssl-0.9.7d APACHE_PREFIX=/usr/local/apache-test APACHE_SRC=../apache_1.3.31/src APACI_ARGS='--enable-module=ssl,--enable-module=rewrite,--enable-module=proxy, --enable-module=so,--enable-module=access,--enable-module=auth, --enable-module=include,--enable-module=mime,--enable-module=log_config, --enable-module=alias,--enable-module=vhost_alias,--enable-module=log_agent, --enable-module=headers,--enable-shared=expires,--enable-shared=mime_magic, --enable-shared=ssl' And that compiled ok. Maybe the problem was this : --activate-module=src/modules/perl/libperl.a \ ? I also upgraded openssl to the latest 0.9.7 release. -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[mp1] building mp1 with mod_ssl - what am I doing wrong?
I must be spoilt by apache2 :) RedHat Linux 7.3 on i386, trying to build mod_perl and mod_ssl into apache 1.3.31. Here's what I'm doing : tar -xzf ../apache_1.3.31.tar.gz tar -xzf ../mod_ssl-2.8.19-1.3.31.tar.gz tar -xzf ../mod_perl-1.29.tar.gz cd mod_ssl-2.8.19-1.3.31/ ./configure --with-apache=../apache_1.3.31 Configuring mod_ssl/2.8.19 for Apache/1.3.31 + Apache location: ../apache_1.3.31 (Version 1.3.31) + Auxiliary patch tool: ./etc/patch/patch (local) + Applying packages to Apache source tree: o Extended API (EAPI) o Distribution Documents o SSL Module Source o SSL Support o SSL Configuration Additions o SSL Module Documentation o Addons Done: source extension and patches successfully applied. Now proceed with the following commands (Bourne-Shell syntax): $ cd ../apache_1.3.31 $ SSL_BASE=/path/to/openssl ./configure ... --enable-module=ssl $ make $ make certificate $ make install cd ../mod_perl-1.29/ perl Makefile.PL EVERYTHING=1 Configure mod_perl with ../apache_1.3.31/src ? [y] Shall I build httpd in ../apache_1.3.31/src for you? [y] n make make install At this stage, if I understand correctly, I shuold be able to build apache, and it will make the mod_ssl and mod_perl things too. My config for apache is : CC=gcc \ CFLAGS= -fno-strict-aliasing -I/usr/local/include \ SSL_BASE=/usr/local/src/apache/openssl-0.9.6d \ ./configure \ --with-layout=Apache \ --prefix=/usr/local/apache-test \ --disable-rule=EXPAT \ --enable-rule=EAPI \ --activate-module=src/modules/perl/libperl.a \ --enable-module=so \ --enable-module=rewrite \ --enable-module=access \ --enable-module=auth \ --enable-module=include \ --enable-module=mime \ --enable-module=log_config \ --enable-module=alias \ --enable-module=rewrite \ --enable-module=vhost_alias \ --enable-module=proxy \ --enable-module=log_agent \ --enable-module=headers \ --enable-module=expires \ --enable-module=mime_magic \ --enable-module=ssl \ --enable-shared=rewrite \ --enable-shared=access \ --enable-shared=auth \ --enable-shared=include \ --enable-shared=mime \ --enable-shared=log_config \ --enable-shared=alias \ --enable-shared=rewrite \ --enable-shared=vhost_alias \ --enable-shared=proxy \ --enable-shared=log_agent \ --enable-shared=headers \ --enable-shared=expires \ --enable-shared=mime_magic \ --enable-shared=ssl Shows me this at config-time : Configuring for Apache, Version 1.3.31 + using installation path layout: Apache (config.layout) + activated perl module (modules/perl/libperl.a) Creating Makefile Creating Configuration.apaci in src Creating Makefile in src + configured for Linux platform + setting C pre-processor to gcc -E + using tr [a-z] [A-Z] to uppercase + checking for system header files + adding selected modules o rewrite_module uses ConfigStart/End + using -ldb1 for DBM support enabling DBM support for mod_rewrite o ssl_module uses ConfigStart/End + SSL interface: mod_ssl/2.8.19 + SSL interface build type: DSO + SSL interface compatibility: enabled + SSL interface experimental code: disabled + SSL interface conservative code: disabled + SSL interface vendor extensions: disabled + SSL interface plugin: Built-in SDBM + SSL library path: /usr/local/src/apache/openssl-0.9.6d + SSL library version: OpenSSL 0.9.6d 9 May 2002 + SSL library type: source tree only (stand-alone) + enabling Extended API (EAPI) + using -ldl for vendor DSO support + checking sizeof various data types + doing sanity check on compiler and options Creating Makefile in src/support Creating Makefile in src/regex Creating Makefile in src/os/unix Creating Makefile in src/ap Creating Makefile in src/main Creating Makefile in src/modules/standard Creating Makefile in src/modules/proxy Creating Makefile in src/modules/ssl And then make fails : === src/modules/perl gcc -I. -I../../include -I../../include/regex -I../../include/../ -DLINUX=22 -DHAVE_SET_DUMPABLE -I/usr/include/db1 -DMOD_SSL=208119 -DUSE_HSREGEX -DEAPI -fno-strict-aliasing -I/usr/local/include `../apaci` -I`/usr/local/bin/perl -MConfig -e 'print $Config{archlibexp}'`/CORE `/usr/local/bin/perl '-MApache::ExtUtils=%Config' -e 'print $Config{ccflags}'` -DMOD_PERL_VERSION=\1.29\ -c -o mod_perl_opmask.o mod_perl_opmask.c /bin/sh: ../apaci: No such file or directory In file included from ../../include/httpd.h:29, from apache_inc.h:120, from mod_perl.h:162, from mod_perl_opmask.c:1: ../../include/ap_config.h:71:16: os.h: No such file or directory make[4]: *** [mod_perl_opmask.o] Error 1 make[3]: *** [all] Error 1 make[2]: *** [subdirs] Error 1 make[2]: Leaving directory `/usr/local/src/apache/apache-1.3.31/apache_1.3.31/src' make[1]: *** [build-std] Error 2 make[1]: Leaving directory `/usr/local/src/apache/apache-1.3.31/apache_1.3.31' make: *** [build] Error 2 What did I do wrong?! -- Report problems: http://perl.apache.org/bugs/ Mail list
Re: Perl 5.8.1 is out
Stas Bekman wrote: So what hostname do you normally use? Have you tried that? Philippe has reported that this change has worked for him. http://marc.theaimsgroup.com/?l=apache-modperl-devm=105514290024419w=2 I used this patch just now on a current CVS, and still see the same problems (or similar). Stas, do you want to have a play on the box to see if you can figure it out? Carl