<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AlferSoft Blog &#187; libjpeg</title>
	<atom:link href="http://www.alfersoft.com.ar/blog/tag/libjpeg/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alfersoft.com.ar/blog</link>
	<description>Explaining this blog in a few words since 1999</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:36:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MacOS X 10.5.x (Intel) + mod_python + PIL + PyCAPTCHA notes</title>
		<link>http://www.alfersoft.com.ar/blog/2009/03/03/macos-x-105x-intel-mod_python-pil-pycaptcha-notes/</link>
		<comments>http://www.alfersoft.com.ar/blog/2009/03/03/macos-x-105x-intel-mod_python-pil-pycaptcha-notes/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 02:04:10 +0000</pubDate>
		<dc:creator>fvicente</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[freetype2]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[libjpeg]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[mod_python]]></category>
		<category><![CDATA[pil]]></category>
		<category><![CDATA[pycaptcha]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.alfersoft.com.ar/blog/?p=89</guid>
		<description><![CDATA[If you have a Mac OS X Leopard on an Intel platform, and you are interested in installing mod_python using your default apache setup and the python that comes with the Framework, even more if you want to give PyCAPTCHA a try together with mod_python, then check out this post! I&#8217;m covering also the installation [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Python" src="http://www.alfersoft.com.ar/files/python.jpg" alt="" width="300" height="225" /></p>
<p>If you have a Mac OS X Leopard on an Intel platform, and you are interested in installing mod_python using your default apache setup and the python that comes with the Framework, even more if you want to give PyCAPTCHA a try together with mod_python, then check out this post! I&#8217;m covering also the installation of required libraries for PyCAPTCHA under Leopard (FreeType2, libjpeg, PIL)</p>
<p><span id="more-89"></span></p>
<h2><strong>mod_python</strong></h2>
<p><span style="text-decoration: underline;">Compile mod_python</span></p>
<p>If you have Apple&#8217;s Xcode installed, compiling mod_python for Leopard to use with the system provided versions of httpd, python, etc. should be as simple as running these commands:</p>
<p><code><br />
$ mkdir -p ~/mod_python<br />
$ cd ~/mod_python<br />
$ svn co http://svn.apache.org/repos/asf/quetzalcoatl/mod_python/trunk mod_python-trunk<br />
$ cd mod_python-trunk<br />
$ ./configure --with-apxs=/usr/sbin/apxs<br />
$ make<br />
$ sudo make install<br />
$ cd test/<br />
$ python test.py</code></p>
<p>(original source: http://www.modpython.org/pipermail/mod_python/2008-March/025012.html)</p>
<p><span style="text-decoration: underline;">Configure Apache to load mod_python</span></p>
<p>Open /private/etc/apache2/httpd.conf with your favorite editor and add the following line:</p>
<p><code><br />
LoadModule python_module libexec/apache2/mod_python.so<br />
</code></p>
<p><span style="text-decoration: underline;">Example of how to configure Apache to load a mod_python application</span></p>
<p>This is just an example, I recommend reading the <a title="mod_python manual" href="http://www.modpython.org/live/current/doc-html/" target="_blank">mod_python manual</a> for more information.</p>
<p>Open /private/etc/apache2/users/<em>username</em>.conf with your favorite editor and add:</p>
<pre>Alias / "/Users/<em>username</em>/<em>htdocs</em>/"
&lt;Directory "/Users/<em>username</em>/<em>htdocs</em>/"&gt;
    SetHandler python-program
    PythonHandler mod_python.publisher
    # Disable following line when in production
    PythonDebug On
    &lt;Files ~ "\.(gif|jpg|png|ico|js|css)$"&gt;
        SetHandler default-handler
    &lt;/Files&gt;
    Order allow,deny
    Allow from all
&lt;/Directory&gt;</pre>
<p><span style="text-decoration: underline;">Restart Apache with the command below:</span></p>
<pre>$ /usr/sbin/apachectl restart</pre>
<p><br/></p>
<h2>PyCAPTCHA</h2>
<p>In order to build and install PyCAPTCHA you&#8217;ll need to compile, or make sure that you have these required libraries:</p>
<ul>
<li>FreeType2</li>
<li>libjpeg</li>
<li>PIL (Python Imaging Library)</li>
</ul>
<p>Let&#8217;s see how to set up these libraries under a Leopard / Intel environment.<br />
<br/></p>
<h2>FreeType2</h2>
<p>This library is required for PyCAPTCHA, as far as I know it is already installed with the SDK, to check the directory where the library is installed use the command:</p>
<p><code>$ locate libfreetype.dylib</code></p>
<p>A version of this library should appear under /Developer/SDKs/MacOSX10.5.sdk/usr/X11/<br />
<br/></p>
<h2>libjpeg</h2>
<p>Download <a title="libjpeg" href="http://www.ijg.org/" target="_blank">jpeg source</a> and uncompress it in any directory, e.g. ~/jpeg-6b then:</p>
<p><code><br />
$ cd ~/jpeg-6b<br />
$ chmod -R 777 *<br />
$ ./configure<br />
</code></p>
<p>Edit Makefile and change the following line from:</p>
<pre>    CFLAGS= -O2 -I$(srcdir)</pre>
<p>to:</p>
<pre>    CFLAGS= -arch ppc -arch i386 -arch ppc64 -arch x86_64 -O2 -I$(srcdir)</pre>
<p>Finally, build and install:<br />
<code><br />
$ make<br />
$ sudo make install-lib</code><br />
<br/></p>
<h2>PIL</h2>
<p>Download <a title="PIL source" href="http://www.pythonware.com/products/pil/" target="_blank">PIL source</a> and uncompress it in any directory, e.g. ~/imaging-1.1.6 then:</p>
<p><code><br />
$ cd ~/imaging-1.1.6<br />
</code></p>
<p>Edit setup.py and change the following lines from:</p>
<pre>    FREETYPE_ROOT = None</pre>
<p>to (note that I&#8217;m using the FreeType2 directory discovered previously with the locate command):</p>
<pre>    FREETYPE_ROOT = libinclude("/Developer/SDKs/MacOSX10.5.sdk/usr/X11/")</pre>
<p>and then following line from:</p>
<pre>    JPEG_ROOT = None</pre>
<p>to:</p>
<pre>    JPEG_ROOT = libinclude("/usr/local")</pre>
<p>Locate these lines:<code><br />
from distutils import sysconfig<br />
from distutils.core import Extension, setup<br />
from distutils.command.build_ext import build_ext<br />
</code><br />
And add the following lines (correctly indented from column 0):</p>
<pre>OrigExtension = Extension
def Extension(*args, **kwargs):
    extra_args = ['-arch', 'ppc', '-arch', 'ppc64', '-arch', 'i386', '-arch', 'x86_64']
    kwargs['extra_compile_args'] = extra_args + kwargs.get('extra_compile_args', [])
    kwargs['extra_link_args'] = extra_args + kwargs.get('extra_link_args', [])
    return OrigExtension(*args, **kwargs)</pre>
<p>Now proceed to compile and install the library:<br />
<code><br />
$ sudo python setup.py install</code><br />
<br/></p>
<h2>Install PyCAPTCHA</h2>
<p>Now you are ready to  build and install PyCAPTCHA. Checkout the source code from <a title="PyCAPTCHA" href="http://svn.navi.cx/misc/trunk/pycaptcha/" target="_blank">this link</a> and run the following command:<br />
<code><br />
$ sudo python setup.py install</code></p>
<p>That&#8217;s it!</p>
<h6><a title="Python" href="http://commons.wikimedia.org/wiki/File:Boomslang_(443113819).jpg" target="_blank">image source</a></h6>
]]></content:encoded>
			<wfw:commentRss>http://www.alfersoft.com.ar/blog/2009/03/03/macos-x-105x-intel-mod_python-pil-pycaptcha-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

