Practical mod_perl / HTML Book /



previous page: 3.5.2. Building mod_perl and Apache Separately
  
page up: HTML Version of the book
  
next page: 3.5.4. Building mod_perl as a DSO via APACI

3.5.3. When DSOs Can Be Used


If you want to build mod_perl as a DSO, you must make sure that Perl was built with the system's native malloc( ). If Perl was built with its own malloc( ) and -Dbincompat5005, it pollutes the main httpd program with free and malloc symbols. When httpd starts or restarts, any references in the main program to free and malloc become invalid, causing memory leaks and segfaults.

Notice that mod_perl's build system warns about this problem.

With Perl 5.6.0+ this pollution can be prevented by using -Ubincompat5005 or -Uusemymalloc for any version of Perl. However, there's a chance that -Uusemymalloc might hurt performance on your platform, so -Ubincompat5005 is likely a better choice.

If you get the following reports with Perl version 5.6.0+:

% perl -V:usemymalloc
usemymalloc='y';
% perl -V:bincompat5005
bincompat5005='define';

rebuild Perl with -Ubincompat5005.

For pre-5.6.x Perl versions, if you get:

% perl -V:usemymalloc
usemymalloc='y';

rebuild Perl with -Uusemymalloc.

Now rebuild mod_perl.

 

Continue to:

  • prev: 3.5.2. Building mod_perl and Apache Separately
  • Table of Contents
  • next: 3.5.4. Building mod_perl as a DSO via APACI







TOP
previous page: 3.5.2. Building mod_perl and Apache Separately
  
page up: HTML Version of the book
  
next page: 3.5.4. Building mod_perl as a DSO via APACI


Menu

  • HTML Book
  • PDF Book
  • Download Code
  • Table of Contents
  • Errata
  • mod_perl2 User's Guide
  • Sitemap

Search


Add to Google




Creative Commons License


Written by
Eric Cholet (Logilune) and
Stas Bekman (StasoSphere & Free Books).


[ Privacy Policy | Terms of Use | About Us | Search ]

© 2007 StasoSphere.com