Cory Gwin
Cory Gwin

Reputation: 1243

Mac osx lion, virtualenv, pil install - gcc error

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

Upvotes: 10

Views: 8448

Answers (5)

marcelosalloum
marcelosalloum

Reputation: 3531

An Idea would be to point gcc-4.0 to the default gcc flag:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.0

Upvotes: 0

Josep Virgili Llop
Josep Virgili Llop

Reputation: 51

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:

gcc
i686-apple-darwin10-gcc-4.2.1: no input files

Then I force to apply this version by:

export CC=gcc-4.2

And select the correct architecture (in my case 32bit):

export ARCHFLAGS="-arch i386"

For 64 use export ARCHFLAGS="-arch x86_64"

Then build and install:

python setup.py build
python setup.py install

Upvotes: 1

jesuis
jesuis

Reputation: 2326

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:

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.2 cc
ln -s gcc-4.2 gcc
ln -s c++-4.2 c++
ln -s g++-4.2 g++
ln -s gcc-4.2 gcc-4.0

There ya go!

Upvotes: 0

Ned Deily
Ned Deily

Reputation: 85085

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 your virtualenv is an older 32-bit-only Python built with gcc-4.0. You can tell for sure by starting the python in your virtualenv. If it says gcc-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 install Distribute and pip and virtualenv for that Python, create a new virutalenv and then install PIL in it.

Upvotes: 8

Carl Norum
Carl Norum

Reputation: 225022

Can you find the gcc-4.0 binary on your system? You might need to add the directory it's in to your PATH environment variable.

Upvotes: 0

Related Questions