<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link rel="STYLESHEET" href="modpython.css" type='text/css' /> <link rel="first" href="modpython.html" title='Mod_python Manual' /> <link rel='contents' href='contents.html' title="Contents" /> <link rel='index' href='genindex.html' title='Index' /> <link rel='last' href='about.html' title='About this document...' /> <link rel='help' href='about.html' title='About this document...' /> <link rel="next" href="inst-make.html" /> <link rel="prev" href="inst-compiling.html" /> <link rel="parent" href="inst-compiling.html" /> <link rel="next" href="inst-make.html" /> <meta name='aesop' content='information' /> <title>2.2.1 Running ./configure</title> </head> <body> <DIV CLASS="navigation"> <div id='top-navigation-panel' xml:id='top-navigation-panel'> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="2.2 Compiling" href="inst-compiling.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="2.2 Compiling" href="inst-compiling.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="2.2.2 Running make" href="inst-make.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="inst-compiling.html">2.2 Compiling</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="inst-compiling.html">2.2 Compiling</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="inst-make.html">2.2.2 Running make</A> </div> <hr /></div> </DIV> <!--End of Navigation Panel--> <H2><A NAME="SECTION004210000000000000000"></A><A NAME="inst-configure"></A> <a id='l2h-4' xml:id='l2h-4'></a> <BR> 2.2.1 Running ./configure </H2> <P> The <b class="program">./configure</b> script will analyze your environment and create custom Makefiles particular to your system. Aside from all the standard autoconf stuff, <b class="program">./configure</b> does the following: <P> <UL> <LI><a id='l2h-5' xml:id='l2h-5'></a> Finds out whether a program called <b class="program">apxs</b> is available. This program is part of the standard Apache distribution, and is necessary for DSO compilation. If apxs cannot be found in your <a class="envvar" id='l2h-6' xml:id='l2h-6'>PATH</a> or in <span class="file">/usr/local/apache/bin</span>, DSO compilation will not be available. <P> You can manually specify the location of apxs by using the <b class="programopt">--with-apxs</b> option, e.g.: <P> <div class="verbatim"><pre> $ ./configure --with-apxs=/usr/local/apache/bin/apxs </pre></div> <P> It is recommended that you specify this option. <P> </LI> <LI><a id='l2h-7' xml:id='l2h-7'></a> Checks your Python version and attempts to figure out where <b class="program">libpython</b> is by looking at various parameters compiled into your Python binary. By default, it will use the <b class="program">python</b> program found in your <a class="envvar" id='l2h-8' xml:id='l2h-8'>PATH</a>. <P> <a id='l2h-9' xml:id='l2h-9'></a> If the first Python binary in the path is not suitable or not the one desired for mod_python, you can specify an alternative location with the <b class="programopt">--with-python</b> option, e.g: <P> <div class="verbatim"><pre> $ ./configure --with-python=/usr/local/bin/python2.3 </pre></div> <P> </LI> <LI><a id='l2h-10' xml:id='l2h-10'></a> Sets the directory for the apache mutex locks. The default is <span class="file">/tmp</span>. The directory must exist and be writable by the owner of the apache process. <P> Use <b class="programopt">--with-mutex-dir</b> option, e.g: <P> <div class="verbatim"><pre> $ ./configure --with-mutex-dir=/var/run/mod_python </pre></div> <P> The mutex directory can also be specified in using a <em class="citetitle"><a href="dir-other-po.html" title="PythonOption" >PythonOption</a></em> directive. See <em class="citetitle"><a href="inst-apacheconfig.html" title="Configuring Apache" >Configuring Apache</a></em>. <P> New in version 3.3.0 <P> </LI> <LI><a id='l2h-11' xml:id='l2h-11'></a> Sets the maximum number of locks reserved by mod_python. <P> The mutexes used for locking are a limited resource on some systems. Increasing the maximum number of locks may increase performance when using session locking. The default is 8. A reasonable number for higher performance would be 32. Use <b class="programopt">--with-max-locks</b> option, e.g: <P> <div class="verbatim"><pre> $ ./configure --with-max-locks=32 </pre></div> <P> The number of locks can also be specified in using a <em class="citetitle"><a href="dir-other-po.html" title="PythonOption" >PythonOption</a></em> directive. See <em class="citetitle"><a href="inst-apacheconfig.html" title="Configuring Apache" >Configuring Apache</a></em>. <P> New in version 3.2.0 <P> </LI> <LI><a id='l2h-12' xml:id='l2h-12'></a> Attempts to locate <b class="program">flex</b> and determine its version. If <b class="program">flex</b> cannot be found in your <a class="envvar" id='l2h-13' xml:id='l2h-13'>PATH</a> <b class="program">configure</b> will fail. If the wrong version is found <b class="program">configure</b> will generate a warning. You can generally ignore this warning unless you need to re-create <span class="file">src/psp_parser.c</span>. <P> The parser used by psp (See <A href="pyapi-psp.html#pyapi-psp">4.9</A>) is written in C generated using <b class="program">flex</b>. This requires a reentrant version of <b class="program">flex</b> which at this time is 2.5.31. Most platforms however ship with version 2.5.4 which is not suitable, so a pre-generated copy of psp_parser.c is included with the source. If you do need to compile <span class="file">src/psp_parser.c</span> you must get the correct <b class="program">flex</b> version. <P> <a id='l2h-14' xml:id='l2h-14'></a> If the first flex binary in the path is not suitable or not the one desired you can specify an alternative location with the <b class="programopt">--with-flex</b> option, e.g: <P> <div class="verbatim"><pre> $ ./configure --with-flex=/usr/local/bin/flex </pre></div> <P> New in version 3.2.0 <P> </LI> <LI><a id='l2h-15' xml:id='l2h-15'></a> The python source is required to build the mod_python documentation. <P> <a id='l2h-16' xml:id='l2h-16'></a> You can safely ignore this option unless you want to build the the documentation. If you want to build the documentation, specify the path to your python source with the <b class="programopt">--with-python-src</b> option, eg. <P> <div class="verbatim"><pre> $ ./configure --with-python-src=/usr/src/python2.3 </pre></div> <P> New in version 3.2.0 <P> </LI> </UL> <P> <DIV CLASS="navigation"> <div class='online-navigation'> <p></p><hr /> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="2.2 Compiling" href="inst-compiling.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="2.2 Compiling" href="inst-compiling.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="2.2.2 Running make" href="inst-make.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="inst-compiling.html">2.2 Compiling</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="inst-compiling.html">2.2 Compiling</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="inst-make.html">2.2.2 Running make</A> </div> </div> <hr /> <span class="release-info">Release 3.3.1, documentation updated on January 29, 2007.</span> </DIV> <!--End of Navigation Panel--> </BODY> </HTML>