【问题标题】:py2cairo installation failure. Checking for 'cairo' >= 1.10.0 : not foundpy2cairo 安装失败。检查 'cairo' >= 1.10.0:未找到
【发布时间】:2011-12-19 17:58:02
【问题描述】:

我正在尝试使用 32 位 Python 2.7(来自 python.org)和来自 MacPorts 的 cairo 1.10.2 在我的 OS X 10.5 上安装 PyCairo(来自 tarball 源代码)。所以我正在安装“py2cairo”。当我运行python ./waf configure 时,我得到了

Checking for 'cairo' >= 1.10.0           : not found 

我这里有 cairo 文件...

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

但是我将哪个目录传递给哪个参数?这些看起来与指定 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"

【问题讨论】:

    标签: python cairo pycairo


    【解决方案1】:

    尝试运行“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

    【讨论】:

      【解决方案2】:

      尝试完成本教程中给出的所有步骤,以端到端构建 cairo for mac:

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

      我遇到了和你一样的问题,但是在完成这个配置之后就成功了!

      【讨论】:

        【解决方案3】:

        我的路是

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

        【讨论】:

        • 实际上,这个答案是唯一对我有用的答案。之后运行 ./waf configure 即可。
        【解决方案4】:

        好的,得到这个部分。不得不添加

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

        在python ./waf configure 之前,因为在我的~/.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 变量后,我就可以进行下一步了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-07-21
          • 2020-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-04
          • 2021-05-28
          相关资源
          最近更新 更多