Fallo en la instalación de py2cairo. Comprobando ‘cairo’> = 1.10.0: no encontrado

Estoy tratando de instalar PyCairo (desde la fuente de tarball) en mi OS X 10.5 usando Python 2.7 de 32 bits (de python.org) y cairo 1.10.2 de MacPorts. Así que estoy instalando “py2cairo”. Cuando ejecuto python ./waf configure , obtengo

 Checking for 'cairo' >= 1.10.0 : not found 

Tengo archivos del cairo aquí …

 $ ls /opt/local/include/cairo cairo-deprecated.h cairo-gobject.h cairo-script-interpreter.h cairo-tee.h cairo-xlib-xrender.h cairo.h cairo-features.h cairo-pdf.h cairo-script.h cairo-version.h cairo-xlib.h cairo-ft.h cairo-ps.h cairo-svg.h cairo-xcb.h cairo-xml.h $ ls /opt/local/lib/cairo cairo-fdr.0.so* cairo-fdr.la* cairo-sphinx.0.so* cairo-sphinx.la* libcairo-trace.0.dylib* libcairo-trace.dylib@ cairo-fdr.a cairo-fdr.so@ cairo-sphinx.a cairo-sphinx.so@ libcairo-trace.a libcairo-trace.la* 

¿Pero qué directorio le paso a qué parámetro? Estos no parecen relevantes al especificar la biblioteca del cairo:

 $ python ./waf --help ./options() waf [commands] [options] Main commands (example: ./waf build -j4) build : executes the build clean : cleans the project configure: configures the project dist : distcheck: checks if the project compiles (tarball from 'dist') distclean: removes the build directory install : installs the targets on the system list : lists the targets to execute step : executes tasks in a step-by-step fashion, for debugging uninstall: removes the targets installed update : updates the plugins from the *waflib/extras* directory Options: --version show program's version number and exit -h, --help show this help message and exit -j JOBS, --jobs=JOBS amount of parallel jobs (1) -k, --keep keep running happily even if errors are found -v, --verbose verbosity level -v -vv or -vvv [default: 0] --nocache ignore the WAFCACHE (if set) --zones=ZONES debugging zones (task_gen, deps, tasks, etc) --nopyc Do not install bytecode compiled .pyc files (configuration) [Default:install] --nopyo Do not install optimised compiled .pyo files (configuration) [Default:install] configure options: -o OUT, --out=OUT build dir for the project -t TOP, --top=TOP src dir for the project --download try to download the tools if missing build and install options: -p, --progress -p: progress bar; -pp: ide output --targets=TARGETS task generators, eg "target1,target2" step options: --files=FILES files to process, by regexp, eg "*/main.c,*/test/main.o" install/uninstall options: -f, --force force file installation Installation directories: By default, "waf install" will put the files in "/usr/local/bin", "/usr/local/lib" etc. An installation prefix other than "/usr/local" can be given using "--prefix", for example " --prefix=$HOME" --prefix=PREFIX installation prefix [default: '/usr/local/'] --destdir=DESTDIR installation root [default: ''] --exec-prefix=EXEC_PREFIX installation prefix [Default: ${PREFIX}] Pre-defined installation directories: --bindir=BINDIR user executables [Default: ${EXEC_PREFIX}/bin] --sbindir=SBINDIR system admin executables [Default: ${EXEC_PREFIX}/sbin] --libexecdir=LIBEXECDIR program executables [Default: ${EXEC_PREFIX}/libexec] --sysconfdir=SYSCONFDIR read-only single-machine data [Default: ${PREFIX}/etc] --sharedstatedir=SHAREDSTATEDIR modifiable architecture-independent data [Default: ${PREFIX}/com] --localstatedir=LOCALSTATEDIR modifiable single-machine data [Default: ${PREFIX}/var] --libdir=LIBDIR object code libraries [Default: ${EXEC_PREFIX}/lib] --includedir=INCLUDEDIR C header files [Default: ${PREFIX}/include] --oldincludedir=OLDINCLUDEDIR C header files for non-gcc [Default: /usr/include] --datarootdir=DATAROOTDIR read-only arch.-independent data root [Default: ${PREFIX}/share] --datadir=DATADIR read-only architecture-independent data [Default: ${DATAROOTDIR}] --infodir=INFODIR info documentation [Default: ${DATAROOTDIR}/info] --localedir=LOCALEDIR locale-dependent data [Default: ${DATAROOTDIR}/locale] --mandir=MANDIR man documentation [Default: ${DATAROOTDIR}/man] --docdir=DOCDIR documentation root [Default: ${DATAROOTDIR}/doc/${PACKAGE}] --htmldir=HTMLDIR html documentation [Default: ${DOCDIR}] --dvidir=DVIDIR dvi documentation [Default: ${DOCDIR}] --pdfdir=PDFDIR pdf documentation [Default: ${DOCDIR}] --psdir=PSDIR ps documentation [Default: ${DOCDIR}] C Compiler Options: --check-c-compiler=CHECK_C_COMPILER On this platform (darwin) the following C-Compiler will be checked by default: "gcc" 

    Está bien, tengo esta parte. Tuve que añadir

     export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH 

    antes de python ./waf configure como algunas otras rutas se definieron en PKG_CONFIG_PATH en mi archivo ~/.MacOSX/environment.plist .

    Conseguí esto de leer el archivo de registro que decía

     Checking for 'cairo' >= 1.10.0 ['/opt/local/bin/pkg-config', '--atleast-version=1.10.0', 'cairo'] not found 

    Y luego se dio cuenta de que /opt/local/bin/pkg-config --libs cairo estaba buscando en otro lugar (directorio GTK +). Alguna información adicional aquí . Después de configurar la variable PKG_CONFIG_PATH , pude pasar al siguiente paso.

    Mi camino es

     export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:$PKG_CONFIG_PATH 

    Intente ejecutar “exportar PKG_CONFIG_PATH = / usr / X11 / lib / pkgconfig: /usr/local/Cellar/libpng/1.5.13/lib/pkgconfig: /usr/local/Cellar/freetype/2.4.10/lib/pkgconfig / usr / local / Cellar / fontconfig / 2.10.1 / lib / pkgconfig: /usr/local/Cellar/pixman/0.28.0/lib/pkgconfig: /usr/local/Cellar/cairo/1.12.8/lib/pkgconfig: / opt / local / lib / pkgconfig ”

    Esto es lo único que me ayudó.

    http://dequeue.blogspot.com/2013/01/getting-py2cairo-installed-on-osx-w-brew.html

    Intente ejecutar todos los pasos dados en este tutorial para la comstackción de extremo a extremo de cairo para mac:

    http://www.cairographics.org/end_to_end_build_for_mac_os_x/

    Me estaba topando con el mismo problema que usted, pero después de hacer esto, ¡la configuración termina con éxito!