[triangle-zpug] Progress report learning Plone, now in deeper...

David Handy david at handysoftware.com
Mon Jul 16 12:55:31 UTC 2007

On Sun, Jul 15, 2007 at 11:49:08PM -0400, cbcoasis at email.unc.edu wrote:
> Quoting David Handy <david at handysoftware.com>:
> >a week ago that the Plone installer wasn't working out-of-the box. Here is
> >the deal: Debian/Ubuntu requires patches to PIL in order for it to compile
> >in their unique environment, and that was the cause of my problems.
> Do tell the details, David. The Unified Installer for 3.0rc1 did PIL 
> fine for me on Feisty. Plone 3.0rc1 uses the new PIL 1.1.6. I had quite 
> a problem with PIL 1.1.5 in the Plone 2.5x installer on Edgy, however, 
> and had to go hack the PIL installer to ignore my system PIL.
> Steve McMahon from Camp 5 is now the unified installer maintainer on 
> Mac and Linux.

Ok, here are the complete details:

PIL will compile unpatched on Debian/Ubuntu, provided, ironically, that the
tk8.4-dev package is *not* installed. If tk8.4-dev is not installed, then
the Python _tkinter module will not compile.  Therefore, PIL will detect
that _tkinter cannot be imported and will simply skip compiling all the PIL
Tk stuff, but it will compile the rest Ok.

If tk8.4-dev is installed, then Python _tkinter will compile successfully.
When PIL tries to compile, it imports _tkinter successfully, and says, "Oh,
I should be able to compile the PIL Tk stuff", and then it can't because it
can't find tk.h, so the PIL compile fails. 

Apparently the PIL setup.py assumes that tk.h is in /usr/include or some
other common include path, but the Python compile is smart enough to find it
in /usr/include/tcl8.4. The Debian/Ubuntu patch to the PIL setup.py just
hardwires adding "/usr/include/tcl8.4" to the include path.

Since Plone doesn't (and shouldn't) pop up Tk windows while manipulating
images on the server, I just hacked the PIL setup.py by adding this line
right after line 91:

_tkinter = None

PIL compiled Ok (without the Tk stuff) and everything else worked Ok.

David H

David Handy
Computer Programming is Fun!
Beginning Computer Programming with Python

More information about the triangle-zpug mailing list