What and Why?
I am not now a programmer and haven’t been one, real or surreal, for at least fifteen years. So WHY have I just spent two days solid trying to get a single perl module compiled for my server? Rhetorical question – any smartarse answers should be placed in the usual wormhole on a piece of EBCDIC punch-tape.
The Challenge: install the perl module Crypt::DSA on a shiny new Movable Type 3.11 installation, to allow us to make full use of the features and get best performance from the comment registration mechanism. So I go to CPAN and try installing Crypt::DSA. It tells me I need the Math::Pari module first and then falls over in grand style on trying to install it. That was four days ago. I have just got it all working (or installed, at least) and this is for anyone going through a similar process – hopefully you’ll find this before you acquire significant bruising on your forehead, much like the one I’m currently nursing.
Firstly, useful resources:
The starting point for all this is Benjamin Boksa’s description of installing Math::Pari, taken together with some hints and pointers found on a Mac thread on the Pari site. That tutorial was then corrected by David Jacob’s blog on installing Math::Pari on Mac OS X.
Whilst pointing me in the right general direction, none of these actually worked. So here’s what did, with my system configuration of:
- Mac OS X Server 10.3.5 installed and up-to-date (according to Software Update)
- Xcode Tools installed and up-to-date
- Perl 5.8.1 (default Mac OS X installation)
- Movable Type 3.11
- Pari 2.1.5 – as of today, this is the latest stable release of Pari. If you’re using an earlier or later one, you’ll need to change the process to suit the names. D’uh…
So, for those who are trying to install Crypt::DSA, or anything else that needs the Math::Pari module and libraries, here’s what worked for me, presented in step-by-step fashion, with minimal geekspeak, although it does require some familiarity with the Unix command line. using the tcsh shell. Some of this may be overkill, but I’m being deliberately pedantic here and describing every step that led me to a working installation.