Installing PhiloLogic on MacOSX Tiger

Who can use this guide?

If you wish to install Philologic3 on OS X Tiger, this guide is for you. Should work for Intel and PPC.

If you want to install on OS X 10.5 Leopard, it should work with this exception: http://philologic.uchicago.edu/wiki/index.php/Patches#Patch:_Field-delimited_sort_Semantics_Broken_in_OSX_10.5

NOTE -- for a walk through of a complete PhiloLogic installation on 10.5 Leopard, dependencies and all, see this page: Installing PhiloLogic for Leopard

Installing Prerequisites

Developer Tools

You will need to install Apple's Developer Tools before you begin this guide. This should be on your Tiger install media.

MySQL (optional)

MySQL is optional. Philologic can run without it, but terms browsing and some bibliograpic metadata limiters will not work.

There is a nice GUI installer available from: http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg

Install, set a root password if you like, and create a database for philologic, something like this:

CREATE DATABASE philologic;

GRANT ALL ON philologic.* to 'philologic'@localhost IDENTIFIED BY 'somepassword';

That creates a user philologic with password somepassword;

Perl Modules

We have had much trouble getting DBI/DBD working correctly on OS X 10.4. Here is the best guess at what to do. First make sure you have installed MySQL from the binary installer provided by MySQL.

OpenSSL

Not sure if this is necessary, but it couldn't hurt (and it helped us with our mysterious problems last time):

sudo fink install openssl openssl-dev openssl-shlibs

OpenSSL

Same thing here...

sudo fink install libgcrypt libgcrypt-shlibs

DBI/DBD

We have had major problems getting DBI and DBD configured and running on OS X 10.4. It seems every time MySQL or Perl or these modules change at all, the new versions require some new kludge to get up and running.

You can try using the bundle, or installing them separately.

Update: The last time I went to install these, on 10.4.11, I was able to use CPAN to install DBD::mysql (it installed DBI automatically I suppose) with only one hack:

ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

Then:

sudo perl -MCPAN -e shell

force install Bundle::DBD::mysql

'force' because it does some testing of DB connectivity and I didn't feel like setting up the test user.

Bundle

You should my able to install the bundle via:

sudo perl -MCPAN -e shell

and then

install Bundle::DBD::mysql

Install them separately

DBI

Install DBI via MCPAN.

sudo perl -e -MCPAN "install DBI"

If that one-liner doesn't do anything (exits really fast and prints nothing), try this:

sudo perl -MCPAN -e shell

and then:

install DBI

Respond with the default (enter) for all choices.

DBD

Download DBD: http://search.cpan.org/~capttofu/DBD-mysql/lib/Bundle/DBD/mysql.pm

Install via:

perl Makefile.pl

make

sudo make install

If you get a messge about mysql_config not being in your path, make sure that you have MySQL installed and that it is indeed in your path. If you used the OS X package installer above, you will have MySQL in /usr/local/mysql/bin. You can make sure this is always in your path by creating a file named .bash_profile in your home directory that contains

export PATH=/usr/local/mysql/bin:$PATH

symlink for mysql socket

After installing, we find that DBD is not looking for the mysql socket in the right spot. So make a symlink:

sudo mkdir -p /var/lib/mysql/

sudo ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

symlink for library

You may also find that you need to run this symlink creation command:

ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

That seems to be necessary for non-Intel installs at the moment... or maybe Intel too? Don't know.

Take from:

http://www.thescripts.com/forum/thread676055.html

Unicode::String

Download Unicode::String: http://search.cpan.org/~gaas/Unicode-String-2.09/String.pm

Install via:

perl Makefile.pl

make

sudo make install

gdbm, gdbm-shlibs, gawk and agrep

Easiest, in my view, is to use Fink or Darwin Ports to install these programs.

FINK

Download and install Fink (and optionally Fink Commander) from here: http://www.finkproject.org/download/

If you want to install Fink from the command line, check out: http://textsnippets.com/posts/show/322

If you want Fink to be in your path, you can make a .bash_profile file that contains the line:

export PATH=/sw/bin:$PATH

Then, install gdbm, gdbm-shlibs, gawk and agrep either from the command line:

sudo fink install gdbm

sudo fink install gdbm-shlibs

sudo fink install agrep

sudo fink install gawk

Or, use the GUI app Fink Commander.

Darwin Ports -- Fink alternative

Darwin Ports provides a very easy interface for installing a variety of Unixy utilities that we will need. You can use it instead of Fink if you like (I haven't verified that everything we need is available there, but it probably is.

http://darwinports.opendarwin.org/

Without Fink or Darwin Ports

I'm not sure how to do everything without Fink yet. My advice is to use Fink.

gawk

To build gawk from source, if you aren't using Fink:

Download gawk: ftp://ftp.gnu.org/gnu/gawk/gawk-3.1.5.tar.gz

Install via:

./configure

make

sudo make install

Gawk installs into /usr/local/bin.

Making sure they are in your path

No matter how you install them, agrep and gawk need to be in your path. Try this:

which agrep

which gawk

Any luck? If not, edit your .bash_profile and log in again. If you used Fink, they should conveniently be in /sw/bin. If otherwise, check places like /opt/local/bin and /usr/local/bin.

Installing Philologic

Web Paths

Think of a good place to have the web root and cgi-bin. Create these directories:

mkdir /Library/WebServer/Documents/philologic

mkdir /Library/WebServer/CGI-Executables/philologic

CFLAGS

Now issue the command:

export CFLAGS="-I/sw/include -L/sw/lib"

That tells the installer where to find some libraries like gdbm.h.

Binary paths

Now, we need to make sure that all your new binaries are available in your path. Depending on how you installed agrep and gawk, you may need to add their paths to your path, e.g.:

export PATH=$PATH:/sw/bin:/opt/local/bin:/usr/local/bin

or whatever you need.

Download Philologic

Download the Philologic installer: http://philologic.uchicago.edu/download.php

You might be able to use the command:

curl -O http://philologic.uchicago.edu/philologic3/distribution/philologic-v3.1.osx.t2.tar.gz

Unzip, untar and cd into the installer directory.

gunzip philologic-v3.1.osx.t2.tar.gz

tar -xvf philologic-v3.1.osx.t2.tar

cd philologic-v3.1.osx

Configure

Now try to configure. You can change these options if you know what you need:

./configure --with-cgi-path=/Library/WebServer/CGI-Executables/philologic --with-cgi-url=/cgi-bin/philologic --with-web-path=/Library/WebServer/Documents/philologic --with-web-url=/philologic --with-authuser-group=admin --with-init-d=$HOME --with-boot-init-d=$HOME

If you got errors, check your pre-reqs and path and try again.

Install

Now, try to install:

sudo make install

If all goes well, it should end with:

/philoinstall/init/nserver stop

/philoinstall/init/nserver: line 8: kill: (18333) - No such process

/philoinstall/init/nserver start

StartupItems

Philologic comes with a startup item for OS X that will start nserver, a daemon that is necessary for Philologic to operate. If you installed into the default /var/lib/philologic, you can set up this startup item as follows:

sudo mv /var/lib/philologic/goodies/OSX/NSERVER_OSX/NServer /Library/StartupItems/

sudo chmod +x /Library/StartupItems/NServer/NServer

OS-X 10.5 (Leopard) sort patches

If you are installing on Leopard, you will need to patch the system because of different sort parameters which are part of the new OS. Instructions in our Patch List:

http://philologic.uchicago.edu/wiki/index.php/Patches#Patch:_Field-delimited_sort_Semantics_Broken_in_OSX_10.5

Please let us know if you find other problems.

Loading your first database

Find yourself a TEI file, and load it thussly:

philoload dbname myteifile.tei