我正在尝试使用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"
答案 0 :(得分:5)
好的,得到了这一部分。不得不添加
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH
在python ./waf configure
之前,因为我的PKG_CONFIG_PATH
文件中的~/.MacOSX/environment.plist
中定义了其他一些路径。
通过阅读
的日志文件得到了这个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
变量后,我可以进入下一步。
答案 1 :(得分:4)
我的路径是
export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:$PKG_CONFIG_PATH
答案 2 :(得分: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:/选择/本地/ LIB / pkgconfig“
这是唯一帮助我的事情。
http://dequeue.blogspot.com/2013/01/getting-py2cairo-installed-on-osx-w-brew.html
答案 3 :(得分:1)
尝试运行本教程中给出的所有步骤,以获取mac for cairo的端到端构建:
http://www.cairographics.org/end_to_end_build_for_mac_os_x/
我遇到了和你一样的问题,但是这样做之后配置就成功了!