Has anyone installed pycairo 1.10 on the mac using the new waf build? Its failing on can't find python headers.
相关问题
- how to define constructor for Python's new Nam
- streaming md5sum of contents of a large remote tar
- How to get the background from multiple images by
- Evil ctypes hack in python
- Correctly parse PDF paragraphs with Python
android's step almost works. one needs to use (from llimllib):
export ARCHFLAGS='-arch x86_64'
in step 5, and then
python waf install
can succeed.For anyone coming back to this, I was able to get py2cairo installed on OSX Lion with a slightly different approach, based on llimllib's link. Hope this helps:
I think waf is seriously broken for Mac OS X :(
Here's how it worked for me. After
python waf configure
failed to find Python.h, I looked through the config.log file located in build_directory and found out that the true cause of failure was incompatible architecture. The waf script tries to build a simple source file with CPython calls in it using i386 architecture. It fails to do so, because my python is built for the x86_64 architecture.I guess, you could rebuild python as a universal binary, I haven't tried that. It is possible, however, to build pycairo using the x86_64 architecture. Here's how.
My setup:
Importrant: my python version is built for the
x86_64
architecture. Make sure it is also the case for you before performing the steps described below.brew stands for homebrew. You must use it instead of fink or MacPorts in order for the following steps to work for you.
Now, to install cairo and pycairo I do the following:
brew install cairo
(version 1.10.2 as of today)Open
wscript
in your editor of choice, locate the lineenv = ctx.env
in the functionconfigure
and add the following line below itenv.append_unique('CFLAGS', ['-arch', 'x86_64'])
Save the file
Run these commands in your terminal:
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/
Important: the latter path will only work for you if you installed cairo via homebrew
Then run the waf commands described in the pycairo's INSTALL file:
python waf configure
python waf build
python waf install
This should do it. If it doesn't work for you, I think it's better to raise the topic on the pycairo mailing list (if it has one).