I have just completed the xcode install, mac osx lion. Upon completion I attempted to install PIL in a virtual enviroment using pip, easy_install and home brew. All three are erring out. pip install give the following error:
pip `
unable to execute gcc-4.0: No such file or directory
error: command 'gcc-4.0' failed with exit status 1
`
easy_install unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1
home brew Error: Failed executing: python setup.py build_ext
I am not really sure where to go from here.
Thanks, CG
After spending hours on the same problem this is what it worked for me:
Download the PIL source code and cd into it. Check which version of
gcc
do you have by:Then I force to apply this version by:
And select the correct architecture (in my case 32bit):
For 64 use export
ARCHFLAGS="-arch x86_64"
Then build and install:
If it helps any, I solved this pesky issue with sym links, and I think it will work for you. I wrote this with my version of gcc in mind, which is 4.2:
There ya go!
An Idea would be to point gcc-4.0 to the default gcc flag:
Xcode 4.1 on OS X Lion 10.7 no longer includes
gcc-4.0
as it did in earlier versions of OS X. When you install a Python package like PIL that includes a C extension module, Python's Distutils will attempt to use the same version of the C compiler that that Python itself was build with. It sounds like the version of Python that was used to create yourvirtualenv
is an older 32-bit-only Python built withgcc-4.0
. You can tell for sure by starting thepython
in yourvirtualenv
. If it saysgcc-4.0
, you will need to re-create the virtualenv, using a newer base Python, either one of the Apple-supplied Pythons in Lion or installing a newer python using a python.org installer or a brew recipe. Then installDistribute
andpip
andvirtualenv
for that Python, create a new virutalenv and then install PIL in it.Can you find the
gcc-4.0
binary on your system? You might need to add the directory it's in to yourPATH
environment variable.