Print

Print


This post is intended for those who would like to build P5 from its
sources on a Mac OS X system. Most everyone else can ignore it. But
I'm curious -- besides myself and Christian Wittern, is there *anyone*
who builds P5 on Mac OS X?


The newest XSLT used in the build process for P5 uses features of XSLT
that are not supported in either the version of xsltproc that comes
built-in to Mac OS X nor the (slightly later) version of xsltproc that
can be easily installed via Fink. Thus it is now necessary to install
libxslt (the parent of xsltproc, as it were) manually in order to be
able to build P5.

I have tried the pre-built binaries generously provided by Steve
Ball[1]. They are probably of a recent enough version to work with
TEI, but did not work at all on my system, causing a bus error.

So I built and installed libxml2 and libxslt manually. I found that
there was a problem in the install process, and developed a hack to
get around it. I reported the experience at [2].


Alternatively, if you want to try Steve Ball's pre-built Mac OS X
binaries of libxslt (and libxml2), here are the steps I followed
(which may not be right, as it didn't work for me!):

* Get appropriate image from [1]
  (E.g. "for MacOS 10.4 (Tiger) via HTTP")

* Decompress and mount the image.

* Copy the executables (xmlcatalog, xmllint, and xsltproc) to a
  directory in your $PATH. If you are not removing the OS X native or
  Fink-installed xsltprocs, then ensure that you put the new one
  somewhere that precedes /usr/bin/ and /sw/bin/ in your $PATH.

* Copy the framework directories (libexslt.framework,
  libxml.framework, and libxslt.framework) to a framework directory.
  The standard locations for frameworks are the
  /System/Library/Frameworks/ and /Library/Frameworks/
  directories[3], but I've tested, and ~/Library/Frameworks/ works
  also.


Notes
-----
[1] http://www.explain.com.au/oss/libxml2xslt.html
[2] http://mail.gnome.org/archives/xslt/2007-September/msg00006.html
[3] http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/IncludingFrameworks.html