The present versions of glean Makefiles depend on features of GNU make. (In particular, the automatic re-scanning of all dependency files after any have changed.) If your version of make is known to be significantly incompatible with GNU make, then you will need to acquire a copy of GNU make or modify glean's Makefiles.
glean makes extensive use of the C++ Standard Template Library. If your C++ compiler fails to compile glean, you may want to try the latest version of gcc. glean was originally developed with egcs 1.1.2; earlier versions are missing some features that glean uses, such as namespaces.
Obtain the gzipped tar file containing glean from the glean downloads page on SourceForge, or better yet, grab a full source tree from the anonymous CVS access page on SourceForge.
Unpack the tar file:
tar xfz glean-1-0.tgz cd glean_1_0This will create a subdirectory named glean_1_0 and make it your current directory.
To compile or run glean, you will need to set the environment variable GLEAN_ROOT to the full pathname of the glean source directory. If you're following along, this is your current directory, so this command should do the trick for users of csh and its descendants:
setenv GLEAN_ROOT `pwd`and this command should work for users of sh and its descendants:
GLEAN_ROOT=`pwd`; export GLEAN_ROOTBe sure to set the environment variable each time you want to compile or run glean. Perhaps the easiest way to do this is to set it in your shell's startup script.
Edit $GLEAN_ROOT/make/common.mak and modify the configuration variables according to your preferences. Some of the variables that are most likely to need customization are:
When you've finished editing the Makefile, simply type
cd src make installThis will build glean and the other tools in the suite, and install everything in $GLEAN_ROOT/bin, $GLEAN_ROOT/include, and $GLEAN_ROOT/lib. Nothing will be altered outside the $GLEAN_ROOT directory hierarchy.
Note that you must use make install rather than plain make, otherwise the headers and libraries won't be copied to $GLEAN_ROOT and subsequent components will fail to build.