#python #cairo #pycairo
#python #cairo #pycairo
Вопрос:
Я пытаюсь установить PyCairo (из исходного файла архива) на свою OS X 10.5, используя 32-разрядный Python 2.7 (из python.org ) и cairo 1.10.2 из MacPorts. Итак, я устанавливаю «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"
Ответ №1:
Ладно, эту часть я понял. Пришлось добавить
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 каталог). Некоторая дополнительная информация здесь. После установки PKG_CONFIG_PATH
переменной я смог перейти к следующему шагу.
Ответ №2:
Мой путь
export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:$PKG_CONFIG_PATH
Комментарии:
1. На самом деле, этот ответ — единственный, который сработал для меня. Просто запустите ./waf configure после этого.
Ответ №3:
Попробуйте запустить «экспорт 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
Ответ №4:
Попробуйте выполнить все шаги, приведенные в этом руководстве, для сквозной сборки cairo для mac:
http://www.cairographics.org/end_to_end_build_for_mac_os_x/
Я столкнулся с той же проблемой, что и вы, но после выполнения этой настройки успешно завершается!