A. For compiling glib-2.54.3 onwards, need python2.7+. On LSB, python needs to be manually compiled up (we're using 2.7.18 on 64 bit LSB) and put into a user location e.g. /home/sjm84/python2.7/bin in our case, with its bin folder added to the PATH: ( export PATH=/home/sjm84/python2.7/bin:$PATH ) To configure and compile wvware in Greenstone2/3, it used to be required to first: source ./devel.bash Now the above is done automatically when compiling up Greenstone 2 or 3. However, if compiling gnome-lib manually (outside a Greenstone installation), then the above is still necessary to compile wvware and you need to add -fPIC to CFLAGS and CXXFLAGS: svn co https://svn.greenstone.org/gs2-extensions/gnome-lib/trunk gnome-lib cd gnome-lib/src OR** svn co https://svn.greenstone.org/gs2-extensions/gnome-lib/trunk/src gnome-lib cd gnome-lib For compiling glib-2.54.3 onwards, need python2.7+. On LSB this needs to be manually compiled up and put into a user location and its bin folder on the PATH, e.g. /home/sjm84/python2.7/bin Then: ( export PATH=/home/sjm84/python2.7/bin:$PATH ) export CFLAGS="-fPIC $CFLAGS" export CXXFLAGS="-fPIC $CXXFLAGS" source ./devel.bash ** NOTE: if you are on 32 bit linux, then add -march=i686 to CFLAGS ** NOTE: if you svn checked out the gnome-lib/trunk folder as "gnome-lib", then its "src" subfolder is the one you'll want to be doing things like sourcing devel.bash/CASCADE-MAKE.sh, compiling and creating gnome-lib-minimal tarballs in. Then follow from step B below onwards. B. To compile up all of gnome-lib: ./CASCADE-MAKE.sh C. To do a clean compile At the toplevel, rm the directory completely ./CASCADE-MAKE.sh tarclean ./CASCADE-MAKE.sh The second step removes all the extracted packages. While the third step extracts and recompiles them all again. If you wish to just remove the intermediate files generated by configure and compile, then replace the 2nd step with ./CASCADE-MAKE.sh distclean D. To compile just a package in gnome-lib: source ./devel.bash #./packages/CASCADE-MAKE/.sh cd packages ./CASCADE-MAKE/.sh E. To completely clean a single package and compile it up by itself (source ./devel.bash, unless you've already done it) ./packages/CASCADE-MAKE/.sh tarclean ./packages/CASCADE-MAKE/.sh If you wish to just remove the package's intermediate files generated by configure and compile, then replace the 2nd step with ./packages/CASCADE-MAKE/.sh distclean F. To generate the gnome-lib-minimal-.tar.gz archive file, 1. Open a fresh terminal 2. make sure the gnome-lib folder (or it may be called "src", depending on what you checked out) is renamed to "gnome-lib-minimal" first 3. source ./devel.bash from the gnome-lib-minimal folder 4. Also from the toplevel (gnome-lib-minimal) folder, run: ./CASCADE-MAKE.sh makeminimal This will generate the tar.gz file. For ElCapitan and later MacOS, ensure the tar.gz file is named correctly. It may need to be moved into the folder containing the src subfolder. 5. If you haven't already, check out trunk level of gnome-lib and put the tar.gz there: svn co --depth files https://svn.greenstone.org/gs2-extensions/gnome-lib/trunk/ (--depth files only checks out files at that level, not a recursive checkout of folders and subfolders) 6. svn commit the tar.gz file This will generate a tar.gz file of the correct name. And because the gnome-lib folder had been renamed to gnome-lib-minimal in step 2, when the tar.gz file is extracted, it will extract as a folder called gnome-lib-minimal, as required. Tested on the Mac MountainLion. G. To generate the gnome-lib-.tar.gz archive file 1. Open a fresh exterm 2. Make sure the top level gnome-lib folder is called "gnome-lib" 3. source ./devel.bash 4. toplevel ./CASCADE-MAKE.sh makedist 5. svn commit the tar.gz file