Apache profiler errors
Note: Folks on perlmonks might recognize this post from last night. There have been no responses, so I'm posting it to the mod_perl list. I'm trying to profile some perl CGI someone else wrote, but I can't seem to get Apache::DProf working. My server runs Apache 2.0.46 with mod_perl 1.99 and Apache::DProf 0.09. I'm getting the following error when trying to start Apache when Apache::DProf is set to load in httpd.conf: Starting httpd: [Mon Nov 01 22:37:13 2004] [error] Can't locate object method "server_root_relative" via package "Apache::Server" at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Apache/DProf.pm line 30.!Compilation failed in require at (eval 2) line 3.! [Mon Nov 01 22:37:13 2004] [error] Can't load Perl module Apache::DProf for server localhost:0, exiting...! Now, if I'm not mistaken, server_root_relative is in Apache::ServerUtil. Looking at the relevant portion of DProf.pm, it appears to handle the differences between Apache1 and Apache2 correctly, so Apache::compat shouldn't be necessary (although I've tried that too): package Apache::DProf; use strict; use Apache::DB (); use File::Path (); { no strict; $VERSION = '0.04'; } # Need to determine if we are in a mod_perl 1.x or 2.x environment # and load the appropriate modules BEGIN { use constant MP2 => eval { require mod_perl; $mod_perl::VERSION > 1.99 }; die "mod_perl is required to run this module: $@" if $@; if (MP2) { require Apache2; require Apache::RequestRec; require Apache::ServerUtil; } } # Adjust to handle mp1 and mp2 differently my $prof_path; if (MP2) { my $s = Apache->server; $prof_path = $s->server_root_relative( $ENV{APACHE_DPROF_PATH} || "logs/dprof"); } else { $prof_path = Apache->server_root_relative($ENV{APACHE_DPROF_PATH} || "logs/dprof"); } Any ideas why this module is failing for me? I've tried Googling on the server_root_relative error, but this inevitably directs me to Apache::compat suggestions, which I don't think are relevant to this module. Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net -- 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: Apache profiler errors
On Nov 2, 2004, at 10:37 AM, Frank Wiles wrote: I believe this is caused by a documentation bug I've yet to fix in Apache::DProf. Try preloading Apache2 in your startup.pl and it should work for you. Hi Frank- I'm still getting the error: Starting httpd: [Tue Nov 02 10:42:26 2004] [error] Can't locate object method "server_root_relative" via package "Apache::Server" at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Apache/DProf.pm line 30.!Compilation failed in require at (eval 2) line 3.! [Tue Nov 02 10:42:26 2004] [error] Can't load Perl module Apache::DProf for server localhost:0, exiting...! If there's anything else you'd like to see (httpd.conf, perl.conf, startup.pl), please let me know. Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net -- 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: Apache profiler errors
On Nov 2, 2004, at 10:35 AM, Perrin Harkins wrote: On Tue, 2004-11-02 at 10:30, Jason Dixon wrote: My server runs Apache 2.0.46 with mod_perl 1.99 and Apache::DProf 0.09. Can you re-try with the latest? The current apache release is 2.0.52 and the current mod_perl release is 1.99_17. Unfortunately not. The client has mandated that we stick with the RHEL package for "supportability". Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net -- 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: Apache profiler errors
On Nov 2, 2004, at 10:59 AM, Frank Wiles wrote: H... ok try adding Apache::ServerUtil in your startup.pl, I may have written down Apache2 as the fix, but it might really be Apache::ServerUtil. Unfortunately, that didn't work either. Here's my startup.pl: [EMAIL PROTECTED] root]# cat /var/www/perl/startup.pl use lib qw(/var/www/perl); use Apache2; use Apache::ServerUtil; use Apache::RequestRec; use Apache::compat; 1; Thanks again, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net -- 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: Apache profiler errors
On Nov 2, 2004, at 11:15 AM, Frank Wiles wrote: I'm thinking Apache::compat might be confusing it. Can you try running without it? Commented out Apache::compat, same error. :( Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net -- 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
File perms problem
Hi folks: Sorry for the noob question on here, but I've never encountered this before. I'm working on a small CGI app using mod_perl, and I'm getting the usual "file permissions deny server execution" error. The odd thing is that this isn't for the CGI script itself, but for every linked file in the "images/" directory! Disabling mod_perl for this Location "fixes" the problem, but I'd rather figure out what is causing this. Why would mod_perl attempt to execute images? SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI FollowSymLinks PerlSendHeader On troubleticket-dev:/var/www/assetdb# ls -l images/ | awk '{print $1,"",$9}' total -rw-rw-r-- 730_10.gif -rw-rw-r-- 730_10_blk.gif -rw-rw-r-- add_system_info.gif -rw-rw-r-- header.gif -rw-rw-r-- masthead_5.gif -rw-rw-r-- nasa_logo.gif -rw-rw-r-- part_info.gif -rw-rw-r-- spacer.gif -rw-rw-r-- system_info.gif (Snip from error.log) [Tue Jan 11 12:48:46 2005] [error] access to /var/www/assetdb/gfx/header.gif failed for xxx.xxx.xxx.xxx, reason: file permissions deny server execution Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: File perms problem
On Jan 11, 2005, at 1:49 PM, Michael Peters wrote: Jason Dixon wrote: Hi folks: Sorry for the noob question on here, but I've never encountered this before. I'm working on a small CGI app using mod_perl, and I'm getting the usual "file permissions deny server execution" error. The odd thing is that this isn't for the CGI script itself, but for every linked file in the "images/" directory! Disabling mod_perl for this Location "fixes" the problem, but I'd rather figure out what is causing this. Why would mod_perl attempt to execute images? SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI FollowSymLinks PerlSendHeader On Because that's what you are telling it to do. SetHandler operates on everything in that Location. In order to have apache do it's normal thing with the images you will need to put them in a separate directory/location. If you decide to put them under the /assetdb, then you will need to tell apache to handle them SetHandler default-handler Thanks, Michael. I figured it was something simple like that. That worked perfectly. -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: Running Multiple Servers
On Jan 25, 2005, at 5:55 PM, Jonathan Vanasco wrote: Can anyone point me towards a good reference for running multiple mod_perl servers on the same box? I'm going to be having 2-3 mod_perl apps running at once on a box I've got. I've read the mod_perl o'reilly book with the chapter that covers 'optimizing' performance by separating the mod_perl from vanilla apache and using a proxypass to pass it over to an alternate port. I'm trying to figure out if it'll be worth the headache to set up a separate apache server for each mod_perl project. I know in practice there should be a decent performance gain from less shared memory -- but it looks like a nightmare to set up. I can't find the same document in the mod_perl 2.0 tree, but this has served me well in the past: http://perl.apache.org/docs/1.0/guide/ install.html#Installing_Perl_Modules_into_a_Directory_of_Choice -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: libapreq install fails for non-root Apache/mod_perl
On Apr 22, 2005, at 2:46 PM, Philip M. Gollucci wrote: Jason Dixon wrote: I'm trying to install a non-root statically compiled Apache/mod_perl (1.x) on a test server. I've installed everything in my home directory, including Apache::Session, but libapreq is failing to recognize the mod_perl installation. Can someone tell me how to get libapreq installed for this scenario? Here's the failed attempt: [EMAIL PROTECTED] libapreq-1.33]$ perl Makefile.PL PREFIX=~/perl mod_perl 1.x ( < 1.99) is required at Makefile.PL line 34. BEGIN failed--compilation aborted at Makefile.PL line 36. Apparently you installled some version of mp2 before mp2 RC5.0 Its failing up front to save you sanity later. If you're not using the mp2 installation, I would suggest you nuke the related files. I installed mod_perl 1.29 with Apache 1.3.33. I'm trying to install Bricolage non-root, and Apache/mod_perl 1.x is a requirement. Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: libapreq install fails for non-root Apache/mod_perl
On Apr 22, 2005, at 3:05 PM, Philip M. Gollucci wrote: One other question: [EMAIL PROTECTED] libapreq-1.33]$ perl Makefile.PL PREFIX=~/perl What is your path. I hope that perl is ~/perl/bin/perl and not /usr/local/bin/perl or /usr/bin/perl. Unless you altered your path or you aliased perl, thats likely picking the wrong one. Basically make sure that command used the correct perl binary I'm still using the default perl binary (/usr/bin/perl). -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: libapreq install fails for non-root Apache/mod_perl
On Apr 22, 2005, at 3:02 PM, Philip M. Gollucci wrote: Jason Dixon wrote: I installed mod_perl 1.29 with Apache 1.3.33. I'm trying to install Bricolage non-root, and Apache/mod_perl 1.x is a requirement. Post this output: find ~/perl -type f -name "mod_perl*.pm" -print -exec grep "VERSION" {} \; Ok, I actually installed Apache/mod_perl in my home, so mod_perl is found in ~/lib64: [EMAIL PROTECTED] libapreq-1.33]$ find ~ -type f -name "mod_perl*.pm" -print -exec grep "VERSION" {} \; /home/jason/src/mod_perl-1.29/lib/mod_perl.pm $mod_perl::VERSION = "1.29"; $class->UNIVERSAL::VERSION(shift); /home/jason/src/mod_perl-1.29/lib/mod_perl_hooks.pm /home/jason/src/mod_perl-1.29/blib/lib/mod_perl.pm $mod_perl::VERSION = "1.29"; $class->UNIVERSAL::VERSION(shift); /home/jason/src/mod_perl-1.29/blib/lib/mod_perl_hooks.pm /home/jason/lib64/perl5/site_perl/5.8.0/mod_perl.pm $mod_perl::VERSION = "1.29"; $class->UNIVERSAL::VERSION(shift); I'll probably reinstall that in ~/apache to clean things up. Anyways, I tried Geoffrey's suggestion based on this new information, but it still doesn't see it: [EMAIL PROTECTED] libapreq-1.33]$ PERL5LIB=~/lib64 perl Makefile.PL PREFIX=~/perl mod_perl 1.x ( < 1.99) is required at Makefile.PL line 34. BEGIN failed--compilation aborted at Makefile.PL line 36. Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: libapreq install fails for non-root Apache/mod_perl
On Apr 22, 2005, at 3:20 PM, Geoffrey Young wrote: you'll need to ajust PERL5LIB so that it works. I suspect it would be $ PERL5LIB=~/lib64/perl5/ perl Makefile.PL at any rate, you can check what @INC looks like by just doing $ PERL5LIB=~/somelib perl -V and adjust PERL5LIB until you get /home/jason/lib64/perl5/site_perl/5.8.0/ in there - I think /home/jason/lib64/perl5/ should be sufficient to pull in the site_lib and beyond, but you'll need to experiment until you get mod_perl.pm in @INC. Thanks, that got me in the right direction. :) [EMAIL PROTECTED] libapreq-1.33]$ PERL5LIB=~/lib64/perl5/site_perl perl Makefile.PL PREFIX=~/perl skipping test setup... which requires Apache::Test 1.13 or higher Checking if your kit is complete... Looks good Warning: prerequisite Apache::Test 1.13 not found. We have 1.0. Writing Makefile for libapreq mkdir ../blib mkdir ../blib/arch mkdir ../blib/arch/auto mkdir ../blib/arch/auto/libapreq Writing Makefile for Apache::Request Writing Makefile for Apache::Cookie Writing Makefile for libapreq w00t! -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
libapreq install fails for non-root Apache/mod_perl
I'm trying to install a non-root statically compiled Apache/mod_perl (1.x) on a test server. I've installed everything in my home directory, including Apache::Session, but libapreq is failing to recognize the mod_perl installation. Can someone tell me how to get libapreq installed for this scenario? Here's the failed attempt: [EMAIL PROTECTED] libapreq-1.33]$ perl Makefile.PL PREFIX=~/perl mod_perl 1.x ( < 1.99) is required at Makefile.PL line 34. BEGIN failed--compilation aborted at Makefile.PL line 36. Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: libapreq install fails for non-root Apache/mod_perl
On Apr 22, 2005, at 3:21 PM, Philip M. Gollucci wrote: Jason Dixon wrote: I'm still using the default perl binary (/usr/bin/perl). Run this command instead: ~/perl/bin/perl Makefile.PL PREFIX=~/perl You shoule be good to go. No, I'm not using a custom perl, I installed mod_perl using the original system perl (5.8.0). There is no perl installed in my home directory. Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
mod_perl build fails on MakeMaker
I'm attempting to build a statically compiled version of Apache/mod_perl using a localized version of Perl 5.8.6 installed in my home directory. For the most part, everything is running smoothly except now I've run into a problem with MakeMaker.pm. When I try to run the Makefile.PL for mod_perl, MakeMaker complains that it can't find the Perl headers. Reviewing the perldoc for MakeMaker, it appears that PERL_INC should override this behavior, but it still keeps trying to find the headers under /usr/local instead of ~/perl5. Here are all the steps I used to get to this point: $ mkdir ~/perl5 ~/apache $ cd perl-5.8.6 $ sh Configure -Umymalloc -des $ make $ make test $ make install DESTDIR=~/perl5 $ mv ~/perl5/usr/local/* ~/perl5/ $ rm -rf ~/perl5/usr/ $ export PERL5LIB=~/perl5/lib/perl5/5.8.6:~/perl5/lib/perl5/site_perl/5.8.6 $ cd ../mod_perl-1.29/ $ export PERL_INC=~/perl5/lib/perl5/5.8.6/x86_64-linux/CORE $ ~/perl5/bin/perl Makefile.PL \ PREFIX=~/perl5 \ APACHE_PREFIX=~/apache \ APACHE_SRC=../apache_1.3.33/src \ DO_HTTPD=1 \ PREP_HTTPD=1 \ EVERYTHING=1 \ USE_APACI=1 And the trailing error: "Error: Unable to locate installed Perl libraries or Perl source code. It is recommended that you install perl in a standard location before building extensions. Some precompiled versions of perl do not contain these header files, so you cannot build extensions. In such a case, please build and install your perl from a fresh perl distribution. It usually solves this kind of problem. (You get this message, because MakeMaker could not find "/usr/local/lib/perl5/5.8.6/x86_64-linux/CORE/perl.h")" Why does it continue to look in /usr/local instead of ~/perl5? Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: mod_perl build fails on MakeMaker [SOLVED]
On May 3, 2005, at 1:48 PM, Philip M. Gollucci wrote: Jason Dixon wrote: I'm attempting to build a statically compiled version of Apache/mod_perl using a localized version of Perl 5.8.6 installed in my home directory. For the most part, everything is running smoothly except now I've run into a problem with MakeMaker.pm. When I try to run the Makefile.PL for mod_perl, MakeMaker complains that it can't find the Perl headers. Reviewing the perldoc for MakeMaker, it appears that PERL_INC should override this behavior, but it still keeps trying to find the headers under /usr/local instead of ~/perl5. Here are all the steps I used to get to this point: $ mkdir ~/perl5 ~/apache $ cd perl-5.8.6 $ sh Configure -Umymalloc -des ./Configure -sde \ -Dprefix=$PREFIX I belive you need to install perl this way instead for starters. Thanks Philip, I incorrectly thought that setting the DESTDIR would be enough. Here are the complete revised installation steps for installing a static Apache/mod_perl 1.x as non-root (for archival purposes): $ mkdir ~/perl5 ~/apache $ cd perl-5.8.6 $ sh Configure -Umymalloc -des -Dprefix=~/perl5 $ make $ make test $ make install $ export PERL5LIB=~/perl5/lib/5.8.6:~/perl5/lib/site_perl/5.8.6 $ cd ../mod_perl-1.29/ $ ~/perl5/bin/perl Makefile.PL \ PREFIX=~/perl5 \ APACHE_PREFIX=~/apache \ APACHE_SRC=../apache_1.3.33/src \ DO_HTTPD=1 \ PREP_HTTPD=1 \ EVERYTHING=1 \ USE_APACI=1 $ make $ make install $ cd ../apache_1.3.33 $ ./configure --prefix=$HOME/apache \ --with-layout=Apache \ --disable-rule=EXPAT \ --enable-module=rewrite \ --activate-module=src/modules/perl/libperl.a \ --disable-shared=perl $ make $ make install $ cd ../Apache-Session-1.6 $ ~/perl5/bin/perl Makefile.PL PREFIX=~/perl5 $ make $ make install $ cd ../libapreq-1.33 $ ~/perl5/bin/perl Makefile.PL PREFIX=~/perl5 $ make $ make install -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Re: Graphics / Pie Charts
On May 7, 2005, at 7:56 PM, Ron Savage wrote: DBD::Chart I second this recommendation. Stupid easy to use. -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
CFP for Surge Scalability Conference 2010
We're excited to announce Surge, the Scalability and Performance Conference, to be held in Baltimore on Sept 30 and Oct 1, 2010. The event focuses on case studies that demonstrate successes (and failures) in Web applications and Internet architectures. Our Keynote speakers include John Allspaw and Theo Schlossnagle. We are currently accepting submissions for the Call For Papers through July 9th. You can find more information, including our current list of speakers, online: http://omniti.com/surge/2010 If you've been to Velocity, or wanted to but couldn't afford it, then Surge is just what you've been waiting for. For more information, including CFP, sponsorship of the event, or participating as an exhibitor, please contact us at su...@omniti.com. Thanks, -- Jason Dixon OmniTI Computer Consulting, Inc. jdi...@omniti.com 443.325.1357 x.241
CFP for Surge Scalability Conference 2010
A quick reminder that there's one week left to submit your abstract for this year's Surge Scalability Conference. The event is taking place on Sept 30 and Oct 1, 2010 in Baltimore, MD. Surge focuses on case studies that address production failures and the re-engineering efforts that led to victory in Web Applications or Internet Architectures. Our Keynote speakers include John Allspaw and Theo Schlossnagle. We are currently accepting submissions for the Call For Papers through July 9th. You can find more information, including suggested topics and our current list of speakers, online: http://omniti.com/surge/2010 I'd also like to urge folks who are planning to attend, to get your session passes sooner rather than later. We have limited seating and we are on track to sell out early. For more information, including the CFP, sponsorship of the event, or participating as an exhibitor, please visit the Surge website or contact us at su...@omniti.com. Thanks, -- Jason Dixon OmniTI Computer Consulting, Inc. jdi...@omniti.com 443.325.1357 x.241
Last day to submit your Surge 2010 CFP!
Today is your last chance to submit a CFP abstract for the 2010 Surge Scalability Conference. The event is taking place on Sept 30 and Oct 1, 2010 in Baltimore, MD. Surge focuses on case studies that address production failures and the re-engineering efforts that led to victory in Web Applications or Internet Architectures. You can find more information, including suggested topics and our current list of speakers, online: http://omniti.com/surge/2010 The final lineup should be available on the conference website next week. If you have questions about the CFP, attending Surge, or having your business sponsor/exhibit at Surge 2010, please contact us at su...@omniti.com. Thanks! -- Jason Dixon OmniTI Computer Consulting, Inc. jdi...@omniti.com 443.325.1357 x.241
Register now for Surge 2010
Registration for Surge Scalability Conference 2010 is open for all attendees! We have an awesome lineup of leaders from across the various communities that support highly scalable architectures, as well as the companies that implement them. Here's a small sampling from our list of speakers: John Allspaw, Etsy Theo Schlossnagle, OmniTI Rasmus Lerdorf, creator of PHP Tom Cook, Facebook Benjamin Black, fast_ip Artur Bergman, Wikia Christopher Brown, Opscode Bryan Cantrill, Joyent Baron Schwartz, Percona Paul Querna, Cloudkick Surge 2010 focuses on real case studies from production environments; the lessons learned from failure and how to re-engineer your way to a successful, highly scalable Internet architecture. The conference takes place at the Tremont Grand Historic Venue on Sept 30 and Oct 1, 2010 in Baltimore, MD. Register now to enjoy the Early Bird discount and guarantee your seat to this year's event! http://omniti.com/surge/2010/register Thanks, -- Jason Dixon OmniTI Computer Consulting, Inc. jdi...@omniti.com 443.325.1357 x.241
Surge 2010 Early Registration ends Tuesday!
Early Bird Registration for Surge Scalability Conference 2010 ends next Tuesday, August 31. We have a killer lineup of speakers and architects from across the Internet. Listen to experts talk about the newest methods and technologies for scaling your Web presence. http://omniti.com/surge/2010/register This year's event is all about the challenges faced (and overcome) in real-life production architectures. Meet the engineering talent from some of the best and brightest throughout the Internet: John Allspaw, Etsy Theo Schlossnagle, OmniTI Bryan Cantrill, Joyent Rasmus Lerdorf, creator of PHP Tom Cook, Facebook Benjamin Black, fast_ip Christopher Brown, Opscode Artur Bergman, Wikia Baron Schwartz, Percona Paul Querna, Cloudkick Surge 2010 takes place at the Tremont Grand Historic Venue on Sept 30 and Oct 1, 2010 in Baltimore, MD. Register NOW for the Early Bird discount and guarantee your seat to this year's event! -- Jason Dixon OmniTI Computer Consulting, Inc. jdi...@omniti.com 443.325.1357 x.241