Table of Contents

This page is in the 'old' namespace, and was imported from our previous wiki. We recommend checking for more up-to-date information using the search box.

Installing Greenstone2 from Source for Beginners

Instructions valid for 2.80.

This is more like a worked example of an installation. It gives a long, extended explanation with extra hand-holding, for people who want all the steps inbetween.

Some specifics on what it does and does not cover:

This document may therefore particularly help people new to the University of Waikato's DL lab, as they're working on Linux and will probably be using the correct compiler by default.

Greenstone 2 will be referred to as GS2. And $ is an xterm prompt.

Where to get the source to install from

You have two options,

  1. You can get the source code from the downloaded Binary distribution for Unix/Linux.
  2. You can download the Source Distribution for GS2

Unix/Linux distribution (Binaries)

<blockquote>"To install this distribution, extract the gzipped tar archive and run the setupLinux.bin Java-based Installer program."</blockquote> For instance, if the downloaded tarzip is called gsdl-2.80-unix.tar.gz:

$ tar -xvzf gsdl-2.80-unix.tar.gz

Go into the new folder created (e.g. gsdl-2.80-unix) and ls to see that setupLinux.bin is there. Then run it:

$ cd gsdl-2.80-unix
$ ./setupLinux.bin

Source distribution

For instance, I tried the source distribution for GS2 version 2.80

$ tar -xvzf gsdl-2.80-src.tar.gz

The indexers folder should now be there in the extracted gsdl folder. Folder gsdl will be referred to as $GSDLHOME from now on.

Compiling the Source

This assumes your compiler is compatible, for further details on this matter, see Installing Greenstone.

Also make sure that JAVA_HOME is set. On Macintosh machines Java tends to come installed these days (Mac OS Leopard) and is usually located at

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

For a MAC, if your source code was from SVN, gdbm (Gnu Database Manager) will not be included and you will need to get it. You can download this from here.

For Macs: Installing GDBM

> tar -xvzf gdbm-<version>.tar.gz
> ./configure --prefix=/path/to/parentfolder/of/gdbmfolder

> make

The make install step is different in that you need to provide your user and group names:

> make BINOWN=your-user-name BINGRP=your-group-name install

To find out what group(s) you belong to, type the following in an x-term:

> groups

Compiling Greenstone 2

$ ./configure
$ make
$ make install

If it complains about gdbm or usr/local while compiling, then you need to find the path to gdbm first (assuming you're still in $GSDLHOME):

$ find . -name "gdbm"

Hopefully this will find the location of gdbm for you and you can use this path in the configuration and make again, as shown below. If you're on a Mac OS, you would similarly need to provide the location of gdbm's folder when compiling it up as follows. (If that doesn't work, then try specifying the parent folder of the gdbm folder instead.)

$ ./configure --with-gdbm=/full/path/to/parentfolder/of/gdbmfolder
$ make
$ make install

If you still have difficulties compiling, looking at the Compiling Greenstone Advanced page may help you.

$ source setup.bash

In your apache web server httpd.conf file, add the following (unless you already added it), making sure to adjust the 4 occurrences of $GSDLHOME below to its full path:

#Greenstone 2 script:
  ScriptAlias /greenstone/cgi-bin "$GSDLHOME/cgi-bin"
  <Directory "$GSDLHOME/cgi-bin">
     Options None
     AllowOverride None
  </Directory>
  
  Alias /greenstone "$GSDLHOME/"
  <Directory "$GSDLHOME/">
     Options Indexes MultiViews FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all
  </Directory>

NOTE: You can choose a prefix for the alias other than greenstone–for example, gs2remote–as long as whatever you chose is what you will use below.

gsdlhome    **GSDLHOME**

to the full path of $GSDLHOME (you can put it in quotes, try this especially if your path contains spaces):

gsdlhome    "/full/path/"

to get:

httpprefix  /sdl

And you'll need to adjust: "httpimg /images" to (In both cases, make sure that the prefix is the same as the alias registered with your web server.)

httpimg     /gsdl/images
http://WebServerName:WebServerPort/gsdl/cgi-bin/library

Or, if installed locally, try:

http://localhost:WebServerPort/gsdl/cgi-bin/library
$ cd gli
$ ./makegli.sh
$ ./gli.sh

It wants the Greenstone browser url (see Setting up an Apache Web Server for Greenstone 2 Walkthrough):

http://WebServerName:WebServerPortnumber/gsdl/cgi-bin/library

where gsdl/cgi-bin is the Alias specified in your Apache web server installation's configuration file - /path/to/apache-webserver-installation-folder/conf/httpd.conf.

Troubleshooting

msgfmt

It will hopefully tell you that you need to install this package first and tell you how to do it. If you have admin rights, you can follow the instructions that it provides to install msgmft. Once installed, execute the make command again and hopefully GS2 compilation will complete successfully now.