Installing PIL on Cygwin
I've been struggling all morning to get PIL installed on Cygwin. The errors I get are not consistent with common errors I find using Google. Perhaps a linux guru can see an obvious problem in this output:
$ python setup.py install
running install
running build
running build_py
running build_ext
building '_imaging' extension
gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DHAVE_LIBZ -I/usr/include/freetype2 -IlibImaging -I/usr/include -I/usr/include/python2.5 -c _imaging.c -o build/temp.cygwin-1.7.2-i686-2.5/_imaging.o
In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/limits.h:11,
from /usr/include/python2.5/Python.h:18,
from _imaging.c:75:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/limits.h:122:61: limits.h: No such file or directory
In file included from _imaging.c:75:
/usr/include/python2.5/Python.h:32:19: stdio.h: No such file or directory
/usr/include/python2.5/Python.h:34:5: #error "Python.h requires that stdio.h define NULL."
/usr/include/python2.5/Python.h:37:20: string.h: No such file or directory
/usr/include/python2.5/Python.h:39:19: errno.h: No such file or directory
/usr/include/python2.5/Python.h:41:20: stdlib.h: No such file or directory
/usr/include/python2.5/Python.h:43:20: unistd.h: No such file or directory
/usr/include/python2.5/Python.h:55:20: assert.h: No such file or directory
In file included from /usr/include/python2.5/Python.h:57,
from _imaging.c:75:
/usr/include/python2.5/pyport.h:7:20: stdint.h: No such file or directory
In file included from /usr/include/python2.5/Python.h:57,
from _imaging.c:75:
/usr/include/python2.5/pyport.h:89: error: parse error before "Py_uintptr_t"
/usr/include/python2.5/pyport.h:89: warning: type defaults to `int' in declaration of `Py_uintptr_t'
/usr/include/python2.5/pyport.h:89: warning: data definition has no type or storage class
/usr/include/python2.5/pyport.h:90: error: parse error be开发者_如何转开发fore "Py_intptr_t"
/usr/include/python2.5/pyport.h:90: warning: type defaults to `int' in declaration of `Py_intptr_t'
... more lines like this
Looks like you need to install GNU libC, because syslimits.h; limits.h; errno.h; stdlib.h; assert.h etc. all belong to it.
For windows you get binary installers; incase you don't want to build PIL under CYGWIN, you can choose from one of these, http://www.pythonware.com/products/pil/#Downloads
You may download a fresh cygwin binary and install imaging libraries in Python section. That will make PIL available for using with cygwin python 2.7.
精彩评论