2011-11-01 35 views
5

我想在我的OS X 10.5上使用32位Python 2.7(來自python.org)和cairo 1.10.2從MacPorts安裝PyCairo(來自tarball源碼)。所以我正在安裝「py2cairo」。當我運行python ./waf configure,我得到另一個py2cairo安裝失敗

Checking for 'cairo' >= 1.10.0   : not found 

我開羅這裏的文件...

$ 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* 

但是目錄我傳遞給它的參數?這些看起來不相關的指定開羅庫:

$ 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" 

謝謝...

回答

5

好,知道了這部分內容。有python ./waf configure之前添加

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

一些其他的路徑是在我~/.MacOSX/environment.plist文件中PKG_CONFIG_PATH定義。

得到這個從閱讀該說

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

的日誌文件,然後意識到/opt/local/bin/pkg-config --libs cairo正在尋找別的地方(GTK +目錄)。一些額外的信息here。在設置了PKG_CONFIG_PATH變量後,我可以進入下一步。

4

我的路徑是

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

其實這個答案是唯一一個適合我的人。此後運行./waf configure。 –

2

嘗試運行「export 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「

這是唯一幫助我的東西。

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