| 1 | <html>
|
---|
| 2 | <head>
|
---|
| 3 | <title>Compiling Greenstone</title>
|
---|
| 4 | <h1>Compiling Greenstone</h1>
|
---|
| 5 | <h3>Greenstone Software, New Zealand Digital Library Project</h3>
|
---|
| 6 | </head>
|
---|
| 7 |
|
---|
| 8 | <body bgcolor="white">
|
---|
| 9 | <p>These notes were written for gsdl-2.39, but probably apply to other
|
---|
| 10 | versions as well. You might find a more up-to-date version on-line at
|
---|
| 11 | <a href="http://www.greenstone.org/docs/compiling.html"
|
---|
| 12 | >http://www.greenstone.org/docs/compiling.html</a>.
|
---|
| 13 |
|
---|
| 14 | Greenstone version 2.39 was released on the 10th March, 2003.
|
---|
| 15 |
|
---|
| 16 | </p>
|
---|
| 17 |
|
---|
| 18 | <h3>Table of contents:</h3>
|
---|
| 19 | <ul>
|
---|
| 20 | <li><a href="#platforms">Tested Platforms</a></li>
|
---|
| 21 | <li><a href="#unix">Generic Unix Notes</a></li>
|
---|
| 22 | <li>Specific Unix Notes
|
---|
| 23 | <ul>
|
---|
| 24 | <li><a href="#cygwin">Cygwin Notes</a></li>
|
---|
| 25 | <li><a href="#darwin">Darwin Mac OS X Notes</a></li>
|
---|
| 26 | <li><a href="#linux">GNU/Linux Notes</a></li>
|
---|
| 27 | <li><a href="#freebsd">FreeBSD Notes</a></li>
|
---|
| 28 | <li><a href="#solaris">Solaris Notes</a></li>
|
---|
| 29 | </ul>
|
---|
| 30 | </li>
|
---|
| 31 | <li><a href="#visualc">MS Visual C++ Notes</a></li>
|
---|
| 32 | <li><a href="#64bit">64 bit Notes</a></li>
|
---|
| 33 | <li><a href="#contact">Our Contact Details</a></li>
|
---|
| 34 | </ul>
|
---|
| 35 |
|
---|
| 36 |
|
---|
| 37 | <a name="platforms"><h1>Platforms</h1></a>
|
---|
| 38 | We have tested Greenstone on the following platforms:
|
---|
| 39 | <ul>
|
---|
| 40 | <li>GNU/Linux:
|
---|
| 41 | <ul>
|
---|
| 42 | <li>Debian 3.0 (potato) (i386), gcc 2.95.4</li>
|
---|
| 43 | <li>Debian sid/unstable (i386), gcc 3.2</li>
|
---|
| 44 | <li>Debian 2.2 (potato) (i386 and ppc rs/6000) (gsdl 2.38)</li>
|
---|
| 45 | <li>Red Hat 7.3 (i386), gcc 2.96</li>
|
---|
| 46 | <li>Slackware 8.0.0 (i386), gcc 2.95.3</li>
|
---|
| 47 | <li>Slackware 7.1.0 (i386) (gsdl 2.38)</li>
|
---|
| 48 | </ul>
|
---|
| 49 | </li>
|
---|
| 50 | <li>Solaris 2.8 (sparc), gcc 2.95.2 and gmake.</li>
|
---|
| 51 | <li>Solaris 2.6 (sparc) using gcc and gmake. (gsdl 2.38)</li>
|
---|
| 52 | <li>FreeBSD 4.2 (i386) (gsdl 2.38)</li>
|
---|
| 53 | <li>Cygwin (minor fiddling needed)</li>
|
---|
| 54 | <li>Darwin / Mac OS X (G4/ppc7400)</li>
|
---|
| 55 | <li>Microsoft Visual C++ 4.2 and 6.0</li>
|
---|
| 56 | </ul>
|
---|
| 57 | If you would like to add other platforms to this list, or inform us of
|
---|
| 58 | any portability changes required, send mail to
|
---|
| 59 | <a href="mailto:[email protected]">[email protected]</a>.
|
---|
| 60 |
|
---|
| 61 |
|
---|
| 62 |
|
---|
| 63 |
|
---|
| 64 | <a name="unix"><h1>Unix Compilation notes</h1></a>
|
---|
| 65 | <p>(we include cygwin here).</p>
|
---|
| 66 |
|
---|
| 67 | The "standard" commands of
|
---|
| 68 | <pre>
|
---|
| 69 | $ ./configure
|
---|
| 70 | $ make all
|
---|
| 71 | $ make install
|
---|
| 72 | </pre>
|
---|
| 73 | should (hopefully) be all that is required. Currently, Greenstone does
|
---|
| 74 | not honour the <tt>`--prefix'</tt> flag, but the directories are
|
---|
| 75 | self-contained, so should be able to be moved after installation.
|
---|
| 76 |
|
---|
| 77 | <p>You will probably need to use GNU make.</p>
|
---|
| 78 |
|
---|
| 79 | <p>Version 2.38 of Greenstone compiles with gcc version 3.0 (as well
|
---|
| 80 | as earlier versions of gcc). Earlier versions of Greenstone will
|
---|
| 81 | require earlier versions of the compiler -- we have successfully used
|
---|
| 82 | versions egcs-2.91.66 and gcc-2.95.
|
---|
| 83 | </p>
|
---|
| 84 | <p>The Greenstone Librarian Interface (GLI) code is written in Java, and
|
---|
| 85 | compiling it requires a suitable
|
---|
| 86 | version of the Java Software Development Kit (version 1.4.0 or newer).
|
---|
| 87 | To compile this source code, run <tt>makegli.sh</tt> from the
|
---|
| 88 | <tt>gsdl/gli</tt> directory.
|
---|
| 89 | </p>
|
---|
| 90 | <p>
|
---|
| 91 | <hr>
|
---|
| 92 | <strong>Note!</strong> - version 2.41 of Greenstone (released in December 2003)
|
---|
| 93 | requires slight modification to compile cleanly with gcc version 3.x.
|
---|
| 94 | The "Isis" package in greenstone's "packages" directory requires 3 files
|
---|
| 95 | to be changed.
|
---|
| 96 | You can download the 3 files from:<br>
|
---|
| 97 | <a href="http://www.greenstone.org/tmp/isis-gdl-fixes.zip">
|
---|
| 98 | http://www.greenstone.org/tmp/isis-gdl-fixes.zip</a><br>
|
---|
| 99 |
|
---|
| 100 | which contains:
|
---|
| 101 | <pre>
|
---|
| 102 | isis-gdl/CRC32.cpp
|
---|
| 103 | isis-gdl/IsisTypes.h
|
---|
| 104 | isis-gdl/Master.cpp
|
---|
| 105 | </pre>
|
---|
| 106 |
|
---|
| 107 | If you copy these over the 3 files with the same name in gsdl/packages/isis-gdl
|
---|
| 108 | then it should all compile ok with gcc 3.
|
---|
| 109 | <hr>
|
---|
| 110 | </p>
|
---|
| 111 |
|
---|
| 112 | <p>The GDBM library and headers are needed - Linux distributions typically
|
---|
| 113 | come with the library, but may or may not come standard with the header file.
|
---|
| 114 | Darwin does not come with either. If it is not installed in
|
---|
| 115 | <tt>/usr</tt> or <tt>/usr/local</tt> then you will have to specify where it
|
---|
| 116 | is by using the configure flag <tt>--with-gdbm=/path/to/gdbm/dir</tt>.</p>
|
---|
| 117 |
|
---|
| 118 | The GDBM library can be downloaded from
|
---|
| 119 | ftp://ftp.gnu.org/pub/gnu/gdbm/gdbm-1.8.3.tar.gz or a closer mirror.
|
---|
| 120 |
|
---|
| 121 | <p>The following configure flags add extra functionality to Greenstone:
|
---|
| 122 | <table>
|
---|
| 123 | <tr valign=top><td>--enable-corba</td>
|
---|
| 124 | <td>Creates a CORBA server as well as the .cgi server. This is currently
|
---|
| 125 | still developmental, and compilation hasn't been tested on many
|
---|
| 126 | platforms. A java CORBA client is available through anonymous CVS
|
---|
| 127 | (password <tt>anonymous</tt>) -
|
---|
| 128 | <pre>
|
---|
| 129 | export CVSROOT=:pserver:[email protected]:2402/usr/local/global-cvs/gsdl-src
|
---|
| 130 | cvs login
|
---|
| 131 | cvs export -r HEAD java-client
|
---|
| 132 | </pre>
|
---|
| 133 | </td></tr>
|
---|
| 134 | <tr valign=top><td>--with-micodir</td>
|
---|
| 135 | <td>Use an existing MICO compiler for the CORBA server instead of
|
---|
| 136 | compiling our included version.</td></tr>
|
---|
| 137 | <tr valign=top><td>--enable-z3950</td>
|
---|
| 138 | <td>Enable rudimentary Z39.50 client support in the .cgi server.</td></tr>
|
---|
| 139 | </table>
|
---|
| 140 | </p>
|
---|
| 141 |
|
---|
| 142 |
|
---|
| 143 |
|
---|
| 144 | <h1>Platform-Specific Issues</h1>
|
---|
| 145 |
|
---|
| 146 | <a name="cygwin"><h2>Cygwin</h2></a>
|
---|
| 147 | Greenstone does not currently compile under cygwin "out-of-the-box".
|
---|
| 148 | We had to manually edit some of the Makefiles. More specifically,
|
---|
| 149 | the packages/mg subtree needed "-ansi" in the CFLAGS, while some parts of the
|
---|
| 150 | src/mgpp subtree fails with "-ansi", as their version of the standard
|
---|
| 151 | header files don't include any (eg) POSIX or XPG/OPEN functions that
|
---|
| 152 | aren't ANSI if -ansi is supplied, even if flags like "_XOPEN_SOURCE"
|
---|
| 153 | are defined.
|
---|
| 154 |
|
---|
| 155 | <p>Also some of the third-party packages required some manual attention.</p>
|
---|
| 156 |
|
---|
| 157 | <p>Make sure you have the gdbm package installed.</p>
|
---|
| 158 |
|
---|
| 159 |
|
---|
| 160 | <a name="darwin"><h2>Darwin/Mac OS X</h2></a>
|
---|
| 161 | <p>All compilation is currently done through a terminal.</p>
|
---|
| 162 |
|
---|
| 163 | <p>Note that the default filesystem is case-insensitive.<p>
|
---|
| 164 |
|
---|
| 165 | <p>Mac OS X uses a compiler based on gcc version 3, so read the above
|
---|
| 166 | section on <a href="#unix">Unix Compilation Notes</a> for changes required
|
---|
| 167 | to the source code for greenstone version 2.41.</p>
|
---|
| 168 | <p>darwin doesn't come with gdbm, so:
|
---|
| 169 | <ol>
|
---|
| 170 | <li>Download the gdbm source code from ftp.gnu.org into your home folder, as
|
---|
| 171 | mentioned previously.</li>
|
---|
| 172 | <li>Unpack it using the command <tt>"tar -zxf gdbm-1.8.3.tar.gz"</tt> (without quotes)</li>
|
---|
| 173 | <li>If you used the older gdbm-1.8.0 (instead of 1.8.3), you will need
|
---|
| 174 | to update some files that can't figure out what the system type is. Eg:
|
---|
| 175 | <tt>"cp /usr/libexec/config.sub /usr/libexec/config.guess gdbm-1.8.3"</tt></li>
|
---|
| 176 | <li>Make (and install) the library:<br>
|
---|
| 177 | <tt>cd gdbm-1.8.3 && make all install</tt><br>
|
---|
| 178 | (When we did this, we did not have permission to install in a system
|
---|
| 179 | directory)</li>
|
---|
| 180 | </ol>
|
---|
| 181 |
|
---|
| 182 | If the "make install" command fails to install libgdbm into the
|
---|
| 183 | default "/usr/local" folder due to permissions:
|
---|
| 184 | <ol>
|
---|
| 185 | <li>Remove the dynamic libraries, so that the Greenstone files are
|
---|
| 186 | only linked using the "static" gdbm libraries using the following
|
---|
| 187 | command (without the quotes):<br>
|
---|
| 188 | <tt>"rm ~/gdbm-1.8.3/.libs/*.dylib"</tt></li>
|
---|
| 189 | <li>when you configure Greenstone you should add
|
---|
| 190 | <tt>--with-gdbm=/Users/<username>/gdbm-1.8.3</tt> (or wherever you
|
---|
| 191 | installed it to) to the command. Note that this means that the compile
|
---|
| 192 | option in the CD-ROM distribution Install script will fail, since it will
|
---|
| 193 | only look in the default locations (/lib, /usr/lib/ and /usr/local/lib)
|
---|
| 194 | </li>
|
---|
| 195 | </ol>
|
---|
| 196 |
|
---|
| 197 | Also see the
|
---|
| 198 | <a href="http://www.greenstone.org/docs/Install-Notes-osx.html">OSX
|
---|
| 199 | Install Notes</a> page.
|
---|
| 200 | </p>
|
---|
| 201 |
|
---|
| 202 |
|
---|
| 203 |
|
---|
| 204 |
|
---|
| 205 | <h3>Issues</h3>
|
---|
| 206 | <p>
|
---|
| 207 | <ul><li>Due to "upgrades" of the config.guess and config.sub files,
|
---|
| 208 | version 2.37 of Greenstone might not recognise Mac OS X during the
|
---|
| 209 | configure. You can either overwrite these files (as above) from
|
---|
| 210 | /usr/libexec, or try to fake it by adding
|
---|
| 211 | <tt>--host=powerpc-apple-machten</tt> (or similar) to the configure
|
---|
| 212 | line. This has been resolved in gsdl-2.38.</li></ul>
|
---|
| 213 | </p>
|
---|
| 214 | <p>
|
---|
| 215 | <ul><li>If the make fails when compiling a file called
|
---|
| 216 | "display.cpp", you need to work around a compiler bug. This only seems
|
---|
| 217 | to occur when "-O2" is part of the compiler flags, so changing this to
|
---|
| 218 | "-O1" or removing it from the flags will work. This seems to have been
|
---|
| 219 | fixed with version 10.1 and later of the developer tools.</li></ul>
|
---|
| 220 | </p>
|
---|
| 221 | <p>
|
---|
| 222 | <ul><li> "There is a known bug in the version of gcc shipped with
|
---|
| 223 | MacOS X 10.2." Version 2.38 of greenstone fails to build the pdftohtml
|
---|
| 224 | converter, with the error message
|
---|
| 225 | <pre>FontFile.h:27: storage size of `_ZTI8FontFile' isn't known
|
---|
| 226 | FontFile.h:46: storage size of `_ZTI13Type1FontFile' isn't known
|
---|
| 227 | FontFile.h:67: storage size of `_ZTI14Type1CFontFile' isn't known
|
---|
| 228 | FontFile.h:144: storage size of `_ZTI16TrueTypeFontFile' isn't known
|
---|
| 229 | </pre>
|
---|
| 230 | The work-around is to remove all lines with "#pragma" from the
|
---|
| 231 | source-code of the pdftohtml package. See <a
|
---|
| 232 | href="http://sourceforge.net/tracker/index.php?func=detail&aid=631593&group_id=45839&atid=444239">the
|
---|
| 233 | bug report</a> on pdftohtml's site. This will be fixed in Greenstone
|
---|
| 234 | version 2.39 and later.</li></ul>
|
---|
| 235 | </p>
|
---|
| 236 |
|
---|
| 237 |
|
---|
| 238 | <a name="linux"><h2>GNU/Linux</h2></a>
|
---|
| 239 | <p>As mentioned above, version 2.38 of Greenstone compiles with gcc3.
|
---|
| 240 | If you are using an earlier version of Greenstone, you will need to
|
---|
| 241 | make sure you are using an older version of gcc, and not gcc2.96 or
|
---|
| 242 | gcc3. Red Hat >= 7.0 comes with the newer versions of gcc by default.
|
---|
| 243 | </p>
|
---|
| 244 |
|
---|
| 245 | <p>You will need the gdbm.h header file. If you don't already have it, it is in
|
---|
| 246 | the libgdbmg1-dev (debian) or gdbm-devel-1.8.0 (rpm) package.</p>
|
---|
| 247 |
|
---|
| 248 | <p>We have had a couple of reports from SuSE users that one of our third-party
|
---|
| 249 | packages (wget) fails to configure as it uses GNU msgfmt for translation
|
---|
| 250 | catalogues - this is resolved by installing the gettext package. This seems
|
---|
| 251 | to be already installed on other distributions.</p>
|
---|
| 252 |
|
---|
| 253 | <p><strong>Alpha architectures</strong>:<br>
|
---|
| 254 | Well, the good news is that it compiles OK (for versions of gsdl >= 2.37
|
---|
| 255 | - earlier versions need updated config.sub files),
|
---|
| 256 | the bad news is that it fails to build collections. One possibility is that
|
---|
| 257 | mg (the backend code) doesn't like the 64-bit ints.
|
---|
| 258 | </p>
|
---|
| 259 |
|
---|
| 260 |
|
---|
| 261 |
|
---|
| 262 | <a name="freebsd"><h2>FreeBSD</h2></a>
|
---|
| 263 | Everything should go smoothly... you might need to install lib gdbm if it
|
---|
| 264 | is not already installed.
|
---|
| 265 |
|
---|
| 266 |
|
---|
| 267 |
|
---|
| 268 | <a name="solaris"><h2>Solaris</h2></a>
|
---|
| 269 | <p>We no longer have solaris machines running in our department.
|
---|
| 270 | However, Greenstone built and ran the last time I could log on (about version
|
---|
| 271 | 2.33?), and we have reports of people getting current versions working,
|
---|
| 272 | with minor changes.</p>
|
---|
| 273 |
|
---|
| 274 | <p>Greenstone includes a perl module from CPAN, XML::Parser (+Expat),
|
---|
| 275 | which has caused problems on some machines during the make. This is
|
---|
| 276 | because perl uses it's own config file to get compiler settings,
|
---|
| 277 | etc. We think we have worked around this. If you get compilation problems,
|
---|
| 278 | you can do one of the following:
|
---|
| 279 | <ol>
|
---|
| 280 | <li> After doing the toplevel ./configure, edit
|
---|
| 281 | gsdl/packages/cpan/XML-Parser-2.27/Makefile and XML-Parser-2.27/Expat
|
---|
| 282 | and change <tt>CC = cc</tt> to <tt>CC = gcc</tt>. (Assuming you are
|
---|
| 283 | using gcc). <strong>Or:</strong></li>
|
---|
| 284 |
|
---|
| 285 | <li> You could install the perl XML::Parser module manually, and
|
---|
| 286 | comment out or remove any mention of the cpan/XML-Parser-2.27
|
---|
| 287 | directory from gsdl/packages/Makefile(.in). </li>
|
---|
| 288 | </ol>
|
---|
| 289 |
|
---|
| 290 | </p>
|
---|
| 291 |
|
---|
| 292 | <p>You might need to manually install the gdbm library, and you probably
|
---|
| 293 | need to use GNU's make. try setting the MAKE variable when
|
---|
| 294 | you run the configure script, such as:<br>
|
---|
| 295 | <tt>$ MAKE=gmake ./configure [options]</tt><br>
|
---|
| 296 | or
|
---|
| 297 | <pre>
|
---|
| 298 | $ ./configure [options]
|
---|
| 299 | ...
|
---|
| 300 | $ gmake all
|
---|
| 301 | </pre>
|
---|
| 302 | </p>
|
---|
| 303 | <a name="visualc"><h2>Windows (Visual C++)</h2></a>
|
---|
| 304 | <p>We have tested with versions 4.2 and 6.0. Our distribution includes a
|
---|
| 305 | cut-down port of the gdbm library for windows.</p>
|
---|
| 306 |
|
---|
| 307 | <p>We compile Greenstone from the Windows command prompt.
|
---|
| 308 | You must manually unzip files in the <tt>gsdl\packages\crypt</tt> and
|
---|
| 309 | <tt>gsdl\packages\gdbm</tt> directories.
|
---|
| 310 | After setting up the VC++ environment, simply type <tt>nmake /f win32.mak</tt>
|
---|
| 311 | and everything should compile OK. For us, setting up the environment requires
|
---|
| 312 | running the <tt>vcvars32.bat</tt> script, found in the VC++ installation
|
---|
| 313 | directory (for us this is in
|
---|
| 314 | <tt>C:\Program Files\Microsoft Visual Studio\VC98\bin</tt>.)</p>
|
---|
| 315 |
|
---|
| 316 | <p>The third-party packages (pdftohtml, wvWare, rtftohtml, xlhtml, etc) were
|
---|
| 317 | compiled using cygwin.</p>
|
---|
| 318 |
|
---|
| 319 | <p>The Greenstone Librarian Interface (GLI) code is written in Java, and
|
---|
| 320 | compiling it requires a suitable
|
---|
| 321 | version of the Java Software Development Kit (version 1.4.0 or newer).
|
---|
| 322 | To compile this source code, run <tt>makegli.bat</tt> from the
|
---|
| 323 | <tt>gsdl\gli</tt> directory.
|
---|
| 324 |
|
---|
| 325 | <a name="64bit"><h2>64 bit processors</h2></a>
|
---|
| 326 | <p>John has tried once to compile Greenstone on a 64 bit processor (Opteron, Amd64) running 64 Ubuntu. He reported several problems which are listed below. These have yet to be resolved.
|
---|
| 327 |
|
---|
| 328 | <p>1. When trying to build anything using mg (i.e. mg_passes) I'm suffering a seg fault somewhere deep in the malloc code (mallopt). From what I can tell the mg stuff uses some library wrapper (gsdl/packages/mg/lib/memlib) which has some prototypes which override the stdlib.h ones. If I let them do this, I believe malloc might be using 32 bit ints to hold pointers (which are 64 bit under X86_64 architecture). If I prevent memlib overriding by setting the STD_MEM precompiler flag I get a bazillion warnings - and it still seg faults in the same place (again implying a pointer != int problem).
|
---|
| 329 |
|
---|
| 330 | <p>Below is a dump of the error messages I encountered when trying to debug the malloc problem.
|
---|
| 331 |
|
---|
| 332 | <pre>
|
---|
| 333 | (gdb) file /var/www/projects/john/gsdl/bin/linux/mg_passes
|
---|
| 334 |
|
---|
| 335 | (gdb) run -D
|
---|
| 336 | -f /var/www/projects/john/gsdl/collect/demo/building/text/demo -b 12000
|
---|
| 337 | -T1 -M 4 -d / < /tmp/output.txt
|
---|
| 338 |
|
---|
| 339 | (gdb) backtrace
|
---|
| 340 | #0 0x0000002a95c7bab6 in mallopt () from /lib/libc.so.6
|
---|
| 341 | #1 0x0000002a95c7aa63 in malloc () from /lib/libc.so.6
|
---|
| 342 | #2 0x0000000000402bf5 in process_text_1 ()
|
---|
| 343 | #3 0x0000000000401fb1 in driver (in_fd=0, Trace=0x0,
|
---|
| 344 | file_name=0x7fbffffb5d
|
---|
| 345 | "/var/www/projects/john/gsdl/collect/demo/building/text/demo") at
|
---|
| 346 | mg_passes.c:336
|
---|
| 347 | #4 0x0000000000402617 in main (argc=11, argv=0x7fbffff918) at
|
---|
| 348 | mg_passes.c:626
|
---|
| 349 | </pre>
|
---|
| 350 |
|
---|
| 351 | <p>2. When trying to search a collection which was imported/built using mgpp I get this cool error message:
|
---|
| 352 | <br/><b>Couldn't load index information for "idx"</b>
|
---|
| 353 | <br/>and no results. Strangely enough browsing works just fine. I tracked the problem back to the loading of the index files in (gsdl/src/mgpp/text/IndexData.c) and in particular these lines
|
---|
| 354 |
|
---|
| 355 | <pre>
|
---|
| 356 | // blocked dictionary
|
---|
| 357 | ...
|
---|
| 358 | fseek (dictFile, bdh.wblk_idx_start, SEEK_SET);
|
---|
| 359 | if (!ReadBlockIdx (dictFile, biWords)) { UnloadData (); return false; }
|
---|
| 360 | ...
|
---|
| 361 | </pre>
|
---|
| 362 | This always returns false. So the fseek to the start of the dictionary is failing. Weird eh? Any ideas? Currently I suspect a bogus pointer to int cast somewhere in the mgpp code during import/building is resulting in an equally bogus index file.
|
---|
| 363 |
|
---|
| 364 | <p>3. So... believing I didn't have quite enough problems to sort out I attempted to fix the second problem and thus created another wonderful problem. Whenever I browse to my custom collection I get the "Opps! An error occurred..." page - but with no error message. However if I run the binary from the cgi-bin it works just peachy. It sounds like a permissions problem - but it isn't. I've triple checked all the permissions. Running the plain-jane greenstone library, then going to the custom collection works just fine (bar the searching problem outlined above).
|
---|
| 365 |
|
---|
| 366 | <a name="contact"><h1>Contact Us</h1></a>
|
---|
| 367 | <p>If Greenstone doesn't work for you, please let us know! If you add
|
---|
| 368 | information such as operating system and software tool versions to your
|
---|
| 369 | request then it will help us to fix the problem.</p>
|
---|
| 370 |
|
---|
| 371 | <p>If you have any updates or corrections to this documentation, then
|
---|
| 372 | don't hesitate to send them to us.</p>
|
---|
| 373 |
|
---|
| 374 | <p>
|
---|
| 375 | Send mail to us at:
|
---|
| 376 | <a href="mailto:greenstone@cs.waikato.ac.nz">greenstone@cs.waikato.ac.nz</a>.
|
---|
| 377 | </p>
|
---|
| 378 |
|
---|
| 379 | <p>We also have 2 mailing lists, one aimed more
|
---|
| 380 | at users and the other aimed more for developmental issues. You can
|
---|
| 381 | subscribe by going to
|
---|
| 382 | <a href="https://list.scms.waikato.ac.nz/mailman/listinfo/greenstone-users"
|
---|
| 383 | >https://list.scms.waikato.ac.nz/mailman/listinfo/greenstone-users</a> and/or
|
---|
| 384 | <a href="https://list.scms.waikato.ac.nz/mailman/listinfo/greenstone-devel"
|
---|
| 385 | >https://list.scms.waikato.ac.nz/mailman/listinfo/greenstone-devel</a>.
|
---|
| 386 | Archives are available (using Greenstone of course!) at <a
|
---|
| 387 | href="http://www.nzdl.org/cgi-bin/library?c=gsarch&p=about">http://www.nzdl.org/cgi-bin/library?c=gsarch&p=about</a>.
|
---|
| 388 | </p>
|
---|
| 389 |
|
---|
| 390 | <address>Last modified 20 April 2004 by <a href="http://www.cs.waikato.ac.nz/~jrm21/">John McPherson</a></address>
|
---|
| 391 | </body>
|
---|
| 392 | </html>
|
---|
| 393 |
|
---|