HOWTO build AxKit on Mac OS X 10.4 Tiger
Last updated, 2005/09/22 - using 10.4.2. I started with a fresh install of 10.4, Xcode 2.1, and fink. Mac OS X is getting to be a better and better UNIX system to run stuff like AxKit on, so this HOWTO is actually shorter and easier than it used to be.
Update 2004/02/13 - using 10.3.0. I started with a fresh install of 10.3.0 and a fresh install of Xcode 1.1 and a fresh install of fink too.
Update 2003/07/09. I no longer use Sablotron as LibXSLT is now considered to be better, faster, and I found the support is good. So, you can skip that part of the instructions (which were a hassle anyway).
Read this
A few notes before we begin.
fink
You should use the fink open-source compilation/
package manager to install most of the good stuff here. If you don't have it, get
it now. It's always good to use the apt-get
command to install
pre-compiled binaries whenever possible
(as opposed to fink
) because it's so much faster.
Fink's easy to use but I'm assuming to know how it works.
CPAN
I also use CPAN, like everyone else, to get the perl
modules that are needed. Set that up now if you haven't already. (google for cpan and
"OS X" should help). I'm going to assume you know how to use CPAN.
To run CPAN on OS X just use the cpan
command (you usually have to run it as root).
Where to put files that you are building from source
I always build software in my "sandbox" directory under my home directory.
For axkit, I use ~/sandbox/axkit
.
Now that we have those items out of the way, now we get to the installation.
Perl
Former version of Mac OS X came with old and out of date versions of perl. But OS X 10.4 comes with perl 5.8.6. So, no need to update perl any more.
Install some important libraries
You'll need to install libxml, libxslt and expat. You can usually rely on fink to install relatively current versions of these libraries.
sudo apt-get install libxml sudo apt-get install libxslt sudo apt-get install expat
You may also need to install the -dev and -shlibs versions of these packages as well.
AxKit in the past can be a bit picky about what versions of libxml and libxslt it's happy with,
although this time I had no problem. The best way to check your versions is
with xsltproc -V
.
I get:
Using libxml 20616, libxslt 10111 and libexslt 809 xsltproc was compiled against libxml 20616, libxslt 10111 and libexslt 809 libxslt 10111 was compiled against libxml 20616 libexslt 809 was compiled against libxml 20616
Install perl modules and AxKit
AxKit requires a whole bunch of other associated modules. Usually you can rely on CPAN to do all the work for you but right now there's a problem with some Apache modules. Still load up CPAN now.
sudo perl -MCPAN -e shell
Now begin by installing XML::LibXML. Former version gave trouble on OS X but 1.5.6 seems to be OK.
install XML::LibXML
Next we will install XML::Parser. This one can be tricky because it relies on the expat library. If you installed expat with fink, it's in a "non-standard" location.
o conf makepl_arg "EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include" install XML::Parser
Now we install AxKit itself.
There's an annoying problem with Apache perl modules that can no longer test when running as root. Clearly this is a problem when using CPAN since it must be run as root. So, we will have to install certain modules manually. Drop out of CPAN and go back to /usr/local/src and make sure you are NOT root for now.
wget http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/AxKit-1.6.2.tar.gz
(or whatever the latest version of AxKit is)
tar -xvzf AxKit-1.6.2.tar.gz cd AxKit-1.62/ perl Makefile.PL make make test sudo make install
The Makefile for AxKit is quite intelligent, it will ask you about a whole slew of "optional" modules that AxKit needs to work correctly. I say "optional" in quotes because in reality it's best to install most of them. As of this writing I recommend you say "yes" to ALL of the optional modules EXCEPT XML::Sablotron -- don't install sablotron.
After you make your choices, you will eventually see something like this:
---- Unsatisfied dependencies detected during [M/MS/MSERGEANT/AxKit-1.6.2.tar.gz] ----- Error Perl::Tidy XML::LibXSLT XML::XPath Shall I follow them and prepend them to the queue of modules we are processing right now? [yes]
Say yes :-) Say yes to all of the "unsatisfied dependencies" questions.
Nearly done now.
Configure Apache for use with AxKit
You used to have to compile a new Apache to get a working version of mod_perl, but
Apple's got their act together now and the pre-installed Apache (called httpd
on the disk) is the right version (1.3), has a working mod_perl, and will work fine
with AxKit. Hooray!
Instead of telling you how to do this, I'll just send you over to the AxKit Quick Start Guide. Skip the install, since you already did that, and go straight to the "Edit your httpd.conf file" section.
Help and feedback
Hopefully everything will work! If it doesn't, you have two options. The first is to email me personally. The second (and better) option is to post to the axkit-users mailing list. Myself and several other OS X AxKit users are on there.