Source Installation on Windows
Current instructions
Greenstone3
Tested on Windows (Vista) 64 bit.
You need:
- An SVN client installed, which can be downloaded from http://subversion.apache.org/packages.html. The instructions below assume a command-line SVN client.
- Java JDK 6.x or later. For compiling on Windows 64 bit, need the 64 bit version of JDK. For compiling Greenstone 3.06 and onwards, need JDK 7.x or later.
- PERL: we used to use ActivePerl for Windows. Now we provide our own modified version of Strawberry Perl that has everything we need so far.
- Visual Studio 8 or later for compiling C++ code. (We haven't tried it with Microsoft's free Visual Studio Express yet.) For 64-bit Windows, we found that Visual Studio versions 9 and 12 worked to compile GS3 from SVN.
- If you want to compile GS2 or GS3 with debugging on, you will also need Microsoft SDK
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
. The 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 (and, on Windows, the location of your Visual Studio's VC directory). Then run the gs3-devel.bat in your toplevel GS3 folder before trying to run any of the ant compilation commands:
svn co https://svn.greenstone.org/main/trunk/greenstone3 gs3-svn cd gs3-svn svn co https://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".
Use a text editor to edit local/gs3-setup.bat
and local/gs3-devel.bat
to contain the paths to Java, Perl, Ant, Visual Studio's VC folder on your system. We found that 32 bit MS VS 9.0 and 12.0 works in our case, if we set gs3-devel.bat to point to C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC so that the script can then issue call vsvarsall.bat amd64
to get it working for 64 bit machines.
Then you're ready to proceed by running the toplevel gs3-devel.bat:
gs3-devel.bat ant ant prepare
(The gs3-devel.bat will print a file not found error on Windows, since gs3-devel.bat runs gs3-setup.bat which refers to some files that the ant prepare step has yet to checkout.)
Once the ant prepare
step has finished:
[ If you're using Visual Studio 14 (a.k.a. Visual Studio 2015; seems to also work with VS15/VS2017), then before proceeding, backup your windows iconv.zip and rename iconv-winVS14-VS2015-plus.zip as the new iconv.zip, as below. (For details on which libiconv this uses and how it was modified to get it to work with VS14, refer to this.)
pushd gs2build\common-src\indexers\packages\windows\iconv move iconv.zip iconv_preVS14.zip move iconv-winVS14-VS2015-plus.zip iconv.zip rmdir /s /q iconv popd
]
Open a new terminal, go back to into the SVN Greenstone 3 checkout directory and run the devel script again before running the actual compile command:
gs3-devel.bat ant install
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 GLI from.
Greenstone2
On 64 bit windows, earlier versions of GS2 on SVN used to have an issue with race conditions (random failing due to asynchronous behaviour) when compiling up apache-httpd as part of GS2. Refer to Compiling the apache-httpd included with GS2 on 64 bit Windows 7. The following instructions were found to generally work with these older versions, but sometimes required recompiling when the first attempt failed.
Fixes to avoid the race conditions were made by introducing 2 scripts adjust-winmak-files.bat and mod_winmak_file.awk after which the following instructions worked all the time.
You need:
- An SVN client installed, which can be downloaded from http://subversion.apache.org/packages.html. The instructions below assume a command-line SVN client.
- Java JDK 6.x or later. For compiling on Windows 64 bit, need the 64 bit version of JDK. For compiling Greenstone 3.06 and onwards, need JDK 7.x or later.
- PERL (ActivePerl for Windows)
- Visual Studio 8 or later for compiling C++ code. (We haven't tried it with Microsoft's free Visual Studio Express yet.) For 64-bit Windows, we found that Visual Studio versions 9 and 12 worked to compile GS3 from SVN.
- If you want to compile GS2 with debugging on, you will also need Microsoft SDK
- Checkout greenstone2 from SVN:
svn co http://svn.greenstone.org/main/trunk/greenstone2 gs2-svn
- NOTE: If you're using Visual Studio 14 (a.k.a. Visual Studio 2015), then before proceeding, backup your windows iconv.zip and rename iconv-winVS14-VS2015-plus.zip as the new iconv.zip, as below. (For details on which libiconv this uses and how it was modified to get it to work with VS14, refer to this.)
cd gs2-svn pushd common-src\indexers\packages\windows\iconv move iconv.zip iconv_preVS14.zip move iconv-winVS14-VS2015-plus.zip iconv.zip rmdir /s /q iconv popd
- Checkout the appropriate subfolder for your OS and bit architecture from http://svn.greenstone.org/local/greenstone2/ into your greenstone 2 checkout's toplevel folder. Name the downloaded subfolder
local
. If you're on Windows 64 bit, then you'd do:
svn co http://svn.greenstone.org/local/greenstone2/windows-64bit local
- On 64 bit Windows, edit
local/setup.bat
to set the environment variables to where you have got the following installed on your system: SVN, Java SDK 7+, the Greenstone customised Strawberry Perl (download it from here), Visual Studio 9+ (Microsoft SDK is no longer needed even when the debug flag is turned on).
On 32 bit Windows, rename thelocal/setup32.bat
script tolocal/setup.bat
, then edit it to set the environment variables according to your system. - Run the top level GS2's
setup.bat
, which will automatically runlocal/setup.bat
too:
cd <your GS2 svn checked out folder> setup.bat
- Finally, still from your top level GS2 folder, run
makegs2x64.bat
Type "Y" to Extract All, then when the DOS prompt display asks what you want to compile up, type "4" to compile all without debugging, or type "5" to compile everything with debugging on. (Type "6" to clean compiled files before recompilation if you want to recompile from scratch).
Note:
In GS2 SVN checkouts from before changeset 31428, compilation on 64 bit Windows could still fail with error messages as described here, which indicates that the race condition has struck. In that case, try deleting theapache-httpd\windows\error
folder if it has been generated, or all of theapache-httpd
folder and runmakegs2x64.bat
again, choosing the same options as before. If the 'error' folder orapache-httpd
folder did not exist and therefore can't be deleted, then just re-run makegs2x64.bat again. If that fails, runmakegs2x64.bat
and select theclean
command (option 6) and then re-runmakegs2x64.bat
to re-compile from scratch. If doing so in a fresh command prompt, remember to run thedevel64-in32mode.bat
setup.bat
script inlocal
before runningmakegs2x64.bat
. - Finally, check out and compile GLI:
svn co https://svn.greenstone.org/main/trunk/gli cd gli makegli.bat makejar.bat
Old instructions
Greenstone3
You NEED Visual Studio C++. (We haven't tried it with Microsoft's free Visual Studio Express yet.)
=====Preparation: what you need=====
- Make sure you have Java 1.4 or higher. I tried it with Java 1.4.2_08.
Set the environmental variable JAVA_HOME to the full path of the Java installation directory. To set environmental variables on Windows, go to Start > Control Panel. Make sure you are in Classic View, if not, in the left-hand pane, press the Switch to Classic View link.
Now double click on the System icon. Select the Advanced tab, click the Environment Variables button. And create a new (System) variable called JAVA_HOME with the value set to the full path to the Java directory.
- Get Apache Ant, at least version 1.6.2. (I tried it with ant 1.6.5.)
- Create the ANT_HOME environment variable, and set its value to be the full path to the root directory of your ant installation.
- Then adjust the existing PATH variable to include the bin directory of ANT_HOME. I.e. append the following to your Windows Path variable:
;%ANT_HOME%\bin
- You need the SVN command-line client, because during the first phase of Greenstone 3 source code compilation (the "ant prepare" step) svn is used to download a great many other files that are necessary for compiling and building Greenstone 3.
- Get the SVN command-line client release for Windows, from http://subversion.tigris.org/project_packages.html
For example, I got svn-1.4.6-setup.exe from http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
- Once you've downloaded this, install it by doubleclicking on it and going through the installation wizard (carefully read the stuff in the wizard). See also the page https://www.projects.dev2dev.bea.com/Subversion%20Clients/CommandLineSVN.html for instructions on how to install and use the SVN command-line client.
=====Installation instructions===== See also:
- the README.txt file in the top-level of your greenstone3 installation folder.
- Now we can finally download Greenstone 3 source code from its SVN repository:
Open a command line prompt. Start > Run. Type: cmd. An msdos prompt will launch. Go (using cd) into the folder wherein you want to download greenstone 3 into. Then type:
svn checkout http://svn.greenstone.org/main/trunk/greenstone3
Depending on your Internet connection speed, the above may take a *long* time.
- When it has finished checking out Greenstone 3 code, type the following in the command prompt:
ant prepare
Troubleshooting: If the build fails in this step due to some directory being "locked" (it failed in my case), then it will give you the line number where it failed. Open build.xml in your greenstone3 installation folder and go to the line. If the section around the looks like this:
929 <target name="prepare-core" unless="nosvn.mode"> 930 <!-- just get rid of empty directories--> 931 <svn> 932 <update dir="."/> 933 </svn> 934 </target>
Then comment out <update dir="."/> to get:
929 <target name="prepare-core" unless="nosvn.mode"> 930 <!-- just get rid of empty directories--> 931 <svn> 932 <!-- <update dir="."/> --> 933 </svn> 934 </target>
Try the ant command again:
ant prepare
Depending on your internet speed, the above can also take a very long time (it took me over an hour), as it is further checking out files from Greenstone 3's SVN repository.
- Once it has finished, you need to do the special Windows step which involves Visual Studio (see Note 1 for the old instructions in case they work for you):
- Locate your Visual Studio's vcvars32.bat file. It may be located in C:\Program Files\Microsoft Visual Studio\VC98\Bin\
Just have a look to see where it is on your Visual Studio installation.
- Back in the command prompt go the location where your vcvars32.bat file is, and run it. Example:
> cd C:\Program Files\Microsoft Visual Studio\VC98\Bin\
> vcvars32.bat
It would now have set up the environment for you to be able to successfully compile greenstone3. Don't close the command prompt, because it's just been set for the next step.
- In the *same* prompt from which you ran vcvars32.bat, go back into your greenstone3 directory and type:
ant install
Hopefully, after some time, it will come back saying that your build was successful.
- Now you should be able to run the tomcat web server by typing
ant start
in the cmd prompt. Thereafter, open your web browser at http://localhost:8080/greenstone3/
===Note 1=== You could also try the following (it did not work for me):
Go into your greenstone 3 folder–the one svn downloaded all the source into. I'm calling the full path to this $GSDLHOME. Now that you are in GSDLHOME, open build.properties. Make sure that the compile.windows.c++.setup is set to the full path location of your Visual Studio's "vcvars32.bat" file. For example, the default value given is:
compile.windows.c++.setup=C:/Program Files/Microsoft Visual Studio/VC98/Bin/VCVARS32.BAT
Go back to the MSDOS prompt, move into your greenstone3 folder and type the following:
ant install
=====Advanced===== For information on further configuration of the installation (such as changing the port number or host name of the web server), see Advanced, the Advanced section of the walkthrough of installing GS3 from SVN for Linux.
Greenstone2
You will need:
- Visual Studio, to use its compiling capabilities which work with the Windows makefiles of Greenstone
===== Where to get the source code ===== You can get the source code from SVN (as described below) or alternatively, you can either get the source distribution or, during the installation of the binary distribution, choose to include the source code (for these see source install.
- If you plan on getting it from SVN, you will need an SVN command-line client. There's an SVN command-line client release for Windows, from http://subversion.tigris.org/getting.html#binary-packages
For example, I got svn-1.4.6-setup.exe from http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
- Open an MSDOS prompt. As given in the SVN page, to get the gsdl source code, you will need to type the following at the prompt:
svn co http://svn.greenstone.org/main/trunk/greenstone2 greenstone2
which will checkout Greenstone 2 source code into a new folder called "greenstone2".
===== Getting windows binaries ===== This is required to get the conversion tools used for importing different types of files, such as wvware.
- In an DOS prompt, go into the bin directory inside your Greenstone 2 installation folder.
For example:
cd C:\greenstone2\bin
- Now checkout the binaries using the following command, which will create a new folder called 'windows':
svn co http://svn.greenstone.org/main/trunk/binaries/windows/bin windows
===== Compiling Greenstone 2 source code on Windows ===== Follow the instructions at Compiling Greenstone, the Windows section. ===== Getting the Greenstone Librarian Interface (GLI) =====
- In your top-level greenstone2 folder, check out GLI from svn. The following will do so and put the checked out GLI files into a new folder called gli:
svn co http://svn.greenstone.org/main/trunk/gli gli
- Move into the newly created folder gli and compile it up:
cd gli makegli.bat
- Setup the environment for Greenstone 2 by going into the top level directory again and running setup.bat:
cd .. setup.bat
- In older versions of GLI (before 2.82), launching GLI will always bring up a little popup asking whether you want to enter the Library and if you click to confirm, it will open a browser window before the GLI application itself appears. To avoid having to go through this procedure each time, you can edit the glisite.cfg file.
Still in the top-level Greenstone 2 folder, make a copy of the file glisite.cfg and name it gsdlsite.cfg. Then open up the original (glisite.cfg) and change the following two lines to become:
autoenter=1 start_browser=0
- GLI can be launched by moving back into the gli folder and running gli.bat:
cd gli gli.bat
You will need:
- Visual Studio, to use its compiling capabilities which work with the Windows makefiles of Greenstone
===== Where to get the source code ===== You can get the source code from SVN (as described below) or alternatively, you can either get the source distribution or, during the installation of the binary distribution, choose to include the source code (for these see source install.
- If you plan on getting it from SVN, you will need an SVN command-line client. There's an SVN command-line client release for Windows, from http://subversion.tigris.org/getting.html#binary-packages
For example, I got svn-1.4.6-setup.exe from http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
- Open an MSDOS prompt. As given in the SVN page, to get the gsdl source code, you will need to type the following at the prompt:
svn co http://svn.greenstone.org/main/trunk/greenstone2 greenstone2
which will checkout Greenstone 2 source code into a new folder called "greenstone2".
===== Getting windows binaries ===== This is required to get the conversion tools used for importing different types of files, such as wvware.
- In an DOS prompt, go into the bin directory inside your Greenstone 2 installation folder.
For example:
cd C:\greenstone2\bin
- Now checkout the binaries using the following command, which will create a new folder called 'windows':
svn co http://svn.greenstone.org/main/trunk/binaries/windows/bin windows
===== Compiling Greenstone 2 source code on Windows ===== Follow the instructions at Compiling Greenstone, the Windows section. ===== Getting the Greenstone Librarian Interface (GLI) =====
- In your top-level greenstone2 folder, check out GLI from svn. The following will do so and put the checked out GLI files into a new folder called gli:
svn co http://svn.greenstone.org/main/trunk/gli gli
- Move into the newly created folder gli and compile it up:
cd gli makegli.bat
- Setup the environment for Greenstone 2 by going into the top level directory again and running setup.bat:
cd .. setup.bat
- In older versions of GLI (before 2.82), launching GLI will always bring up a little popup asking whether you want to enter the Library and if you click to confirm, it will open a browser window before the GLI application itself appears. To avoid having to go through this procedure each time, you can edit the glisite.cfg file.
Still in the top-level Greenstone 2 folder, make a copy of the file glisite.cfg and name it gsdlsite.cfg. Then open up the original (glisite.cfg) and change the following two lines to become:
autoenter=1 start_browser=0
- GLI can be launched by moving back into the gli folder and running gli.bat:
cd gli gli.bat