сбой установки py2cairo. Проверка ‘cairo’> = 1.10.0: не найдено

#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/

Я столкнулся с той же проблемой, что и вы, но после выполнения этой настройки успешно завершается!