2011-11-01 20 views
5

Estoy tratando de instalar PyCairo (desde fuente tarball) en mi OS X 10.5 usando Python 2.7 de 32 bits (desde python.org) y cairo 1.10.2 desde MacPorts. Entonces estoy instalando "py2cairo". Cuando corro python ./waf configure, me saleOtro error de instalación de py2cairo

Checking for 'cairo' >= 1.10.0   : not found 

Tengo archivos 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* [email protected] 
cairo-fdr.a    [email protected]   cairo-sphinx.a   [email protected]  libcairo-trace.a  libcairo-trace.la* 

Pero qué directorio puedo pasar a qué parámetro? Estos no se parecen relevantes en la especificación de la biblioteca 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, e.g. "target1,target2" 

    step options: 
    --files=FILES  files to process, by regexp, e.g. "*/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" 

Gracias ...

Respuesta

5

Está bien, entiendo esta parte. Tenido que añadir

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

antes python ./waf configure como algunos otros caminos se definieron en PKG_CONFIG_PATH en mi archivo ~/.MacOSX/environment.plist.

conseguimos esto al leer el archivo de registro, que dijo

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

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

4

Mi camino es

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

En realidad, esta respuesta es el único que trabajó para mí. Simplemente ejecute ./waf configure después de esto. –

1

intente ejecutar a través de todos los pasos que se indican en este tutorial para el fin de poner fin a la acumulación de El Cairo para Mac:

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

yo estaba corriendo en el mismo problema que tú, pero después de hacer esto ¡configure termina exitosamente!

2

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 ha ayudado.

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

Cuestiones relacionadas