我正在尝试使用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"
最佳答案
好的,得到了这个部分.不得不补充一下
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH
在python ./waf配置之前,我的〜/ .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变量后,我能够进入下一步.