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"
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.
My path is
export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:$PKG_CONFIG_PATH
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With