Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

py2cairo installation failure. Checking for 'cairo' >= 1.10.0 : not found

I am trying to install PyCairo (from tarball source) on my OS X 10.5 using 32-bit Python 2.7 (from python.org) and cairo 1.10.2 from MacPorts. So I am installing "py2cairo". When I run python ./waf configure, I get

Checking for 'cairo' >= 1.10.0           : not found 

I have cairo files here...

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

But what directory do I pass to which parameter? These do not look relevant in specifying the cairo library:

$ 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"
like image 203
hatmatrix Avatar asked Nov 01 '11 18:11

hatmatrix


2 Answers

Okay, got this part. Had to add

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

before python ./waf configure as some other paths were defined in PKG_CONFIG_PATH in my ~/.MacOSX/environment.plist file.

Got this from reading the log file which said

Checking for 'cairo' >= 1.10.0
['/opt/local/bin/pkg-config', '--atleast-version=1.10.0', 'cairo']
not found

And then realized that /opt/local/bin/pkg-config --libs cairo was looking somewhere else (GTK+ directory). Some additional info here. After setting the PKG_CONFIG_PATH variable, I was able to move to the next step.

like image 106
hatmatrix Avatar answered Nov 15 '22 00:11

hatmatrix


My path is

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:$PKG_CONFIG_PATH
like image 37
SeongSu Avatar answered Nov 14 '22 23:11

SeongSu