[greenstone-devel] [greenstone - Help] RE: GLI for Greenstone v2.80 freezes

From SourceForge.net
DateThu Mar 6 15:45:07 2008
Subject [greenstone-devel] [greenstone - Help] RE: GLI for Greenstone v2.80 freezes
In-Reply-To (4816306-38148-sourceforge-net)
Read and respond to this message at:
By: anu_gs3dl


I had installed Greenstone 2.80 on Linux just day-before-yesterday and encountered
Exceptions too that caused my GLI to freeze when creating or opening collections
(sometimes I got a "collection not found" message when opening an existing
collection). The crucial exception I got was a SAXException about <PluginList>
not having a terminating </PluginList>.

The following solved it for me. See if it solves your problem as well. The Cause
and Solution in my case were found by Dr Bainbridge. Unfortunately, attempting
the solution below is going to take a little bit of time and some downloading
on your part.

In the case of my installation, it turned out that the SAX parsing exception
was due to linking troubles of Perl-with-C code. These were due to incompatibility
between some dynamically linked Linux libraries (*.so files, such as Expat.so)
and the current version of Linux that is running on my machine. This happens
in cases where a different Linux version compiled those libraries to the one
they are running on.
This might be similar to what's going on in your situation too. In any case,
the ultimate exception that showed in my case was the SAX one about

You will need to compile your installation of Greenstone from source. This means
that you won't have any incompatibility issues anymore.

You can do this either by:
- compiling the Greenstone 2.80 Binary/Distribution version you downloaded (although
it requires downloading a bit more to complete it), or
- downloading the source version of 2.80 from http://www.greenstone.org/download
(specifically http://prdownloads.sourceforge.net/greenstone/gsdl-2.80-src.tar.gz)
and compiling that.

I will assume you just want to go by the first option: compile your Linux
Binary/Distribution version, although from (4) onwards it is meant to work with
the second option as well. I had tried both ways yesterday and they worked for

Read through the following first, before attempting:
(1) Run the Greenstone installation program again of your 2.80 Binary, which
will launch the installshield:

(2) Go through the installation and choose Custom setup and tick everything
- INCLUDING source. This will install a copy of (most of) the source code. We're
going to compile this, so we need it.

(3) Check if your installation folder (perhaps it is called gsdl) contains the
"indexers" folder. Probably not. In which case, the source is missing the "indexers"
bit. It's anticipated that this oversight will be corrected and that the indexers
source code will be available with the rest of the source code the next time.
contains the indexers (and the rest of the source you already have). To untar/unzip
it, type >tar -xvzf gsdl-2.80-src.tar.gz
The indexers folder is located in the unzipped "gsdl" folder.

Put the indexers folder inside your gsdl/greenstone 2 installation folder (the
one that contains the setup.bash file). I'll call this your $GSDLHOME folder!
(It is usually the gsdl folder.)

(4) Now, go to the $GSDLHOME folder and type
> make all
> make install

If it complains about "gdbm" and "usr/local" while compiling, then you need
to find the path to gdbm first:
$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:
>./configure --with-gdbm=/path/to/gdbm/dir
>make install

If you still have difficulties here, looking at
http://wiki.greenstone.org/wiki/index.php/Compiling_Greenstone may help you.

(5) Still in $GSDLHOME, set up the environment for GSDLHOME:
>source setup.bash

(6) You should be able to view it in your web server after you do
the following:
(a) In your apache web server httpd.conf file, add the following (unless you
already have it), making sure to adjust the 4 occurrences of $GSDLHOME to its
full path below:

#Greenstone 2 script:
ScriptAlias /gsdl/cgi-bin "$GSDLHOME/cgi-bin"
<Directory "$GSDLHOME/cgi-bin">
Options None
AllowOverride None

Alias /gsdl "$GSDLHOME/"
<Directory "$GSDLHOME/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

(b) in the file $GSDLHOME/cgi-bin/gsdlsite.cfg,
- Change:
gsdlhome **GSDLHOME**
To the full path of $GSDLHOME in quotes:
gsdlhome "/full/path/"
- Uncomment: #httpprefix /gsdl
httpprefix /gsdl
- And adjust: "httpimg /images" to
httpimg /gsdl/images

(c) Open your browser at

(7) Now you need to compile GLI:
> cd gli
> ./makegli.sh

(8) Run GLI (I run the application):

(9) Try creating new collections and opening existing ones now. Does it work?
If it doesn't, in the GLI folder, do a
And then run gli again

And if it still gives trouble creating/opening collections, go to $GSDLHOME and
>make clean
Repeat (4):
> make all
> make install

(It takes a long time to "make all". I had to do it a second time now myself
on the non-binary/source version, after which it worked again.)
Hopefully the above will solve your problem.

DL lab, University of Waikato
If you find bugs (defects) in Greenstone, you can submit 'bug reports'
via http://trac.greenstone.org/
Thanks for your help.

You are receiving this email because you elected to monitor this forum.
To stop monitoring this forum, login to SourceForge.net and visit: