Source Installation on Linux (and Mac?)
Tested on Linux 64 bit, Ubuntu 20.4 LTS.
- A command-line SVN installed.
- JDK: Minimum Java JDK 6.x (may still be used for compiling the nightly linux GS3 binaries) or later. For compiling on 64 bit machines, need the 64 bit version of JDK.
For compiling Greenstone 3.06 and onwards, need JDK 7.x or later. These instructions tested with JDK 8.x for GS3.10.
- Perl, which tends to be distributed with many unix systems these days.
- make, gcc, g++. To install on Ubuntu:
sudo apt-get install build-essential
- To save the time it takes to compile gnome-lib, you can also use the pre-compiled
gnome-lib-minimalas in the instructions below.
- If you have issues compiling
imagemagickwith Greenstone, then on Ubuntu you can let its package manager install imagemagick for you:
sudo apt update sudo apt upgrade sudo apt install imagemagick
Apache Ant is included in the following instructions, since it too is needed.
The process is to checkout greenstone3 from SVN, then checkout the appropriate subfolder for your OS and bit architecture from http://svn.greenstone.org/local/greenstone3/ into your greenstone3, and name that subfolder
local subfolder will also provide you with
ant. Then edit the gs3-setup and gs3-devel scripts in
local to point to wherever you have JAVA, (PERL, ANT) installed. Then run the gs3-devel.sh in your toplevel GS3 folder before trying to run any of the ant compilation commands:
(1) Checkout the initial parts of GS3:
svn co http://svn.greenstone.org/main/trunk/greenstone3 gs3-svn cd gs3-svn svn co http://svn.greenstone.org/local/greenstone3/<OS-bitness folder*> local
For the OS-bitness folder, you can at present choose from "darwin-64bit", "linux-32bit", "linux-64bit", "windows-64bit".
(2) Use a text editor to edit
local/gs3-devel.bat to contain the path to the JDK installation on your system.
(NOTE: The current Ant version that gets checked out has a folder name that reads 1.9.x, but running
ant -version in that folder prints out 1.8.x)
(3) Source GS3's toplevel gs3-devel.sh script to set up the environment variables for compiling GS3 on your OS:
ant to generate the build.properties file.
Note: If you want to compile imagemagick or gnome-lib minimal yourself, then at this point uncomment the checkout.gnomelib and checkout.imagemagick flags in the toplevel build.properties file and save it.
(5) If you're on a 64 bit Linux (perhaps also Mac?) machine, set these flags for compiling on 64 bit:
export CFLAGS="-fPIC $CFLAGS" export CXXFLAGS="-fPIC $CXXFLAGS"
(7) Next, prepare GS3 for compiling by getting additional required packages by running:
You'll then need to type
y to continue the ant prepare stage.
(8) Get gnome-lib-minimal for your OS and its bit architecture, and set up the environment for compiling against gnome-lib as follows. First visit http://trac.greenstone.org/browser/gs2-extensions/gnome-lib/trunk/gnome-lib-minimal-<your-OS-version>.tar.gz. On the page for your OS' tarball, rightlick > copy either the "downloading" or "Original Format" link. Next, use the copied URL in the
wget line in following commands to be sequentially executed:
cd gs2build/ext wget <URL-to-gnome-lib-minimal-<your-OS-version>.tar.gz> tar -xvzf gnome-lib-minimal-<your-OS-version>.tar.gz cd gnome-lib-minimal source ./devel.bash cd ../../..
(9) Finally, can start compiling:
This step could take 7 mins or more.
(10) Note: after compiling with the above steps, your terminal would be left in a state where running GLI would not be able to locate the Greenstone building scripts like
import.pl. Therefore, when compilation is finished, open a fresh DOS prompt to run Greenstone, GLI, emacs, etc from.
Exit the terminal you compiled from and get a fresh terminal (one without the compile environment). Run the GS3 server and preview the results to test it all works:
cd /path/to/your/gs3-svn source gs3-setup.sh ant start
http://localhost:8383/greenstone3/library in your browser. You should be seeing your Greenstone digital library home page and be able to visit demo collections. If any collections don't come prebuilt for Grenstone installations from SVN, then build them first to be able to preview them.
(Search the wiki for instructions on command line building collections.)
TODO by modelling off Greenstone2 instructions for Windows at http://wiki.greenstone.org/doku.php?id=en:developer:windows_source_install