The files comprising SCB should be obtained and installed into the Starlink tree in more or less the usual way. There are some environment variables which affect the installation, determining for instance the locations of the indexes and temporary directories. All default to sensible values, but you can tailor them to your requirements by setting them at installation time. Additionally, the install-time values can be overridden by setting the same environment variables at run time. These variables are as follows:
An example site installation from source files might go as follows:
% zcat scb.tar.Z | tar xf - % mk build ... % setenv SCB_BROWSER_TMP /scratch/scb/browser % setenv SCB_INDEXER_TMP /scratch/scb/indexer % setenv INSTALL /star % mk install ... % mk test ... *** Installation test for the SCB package has been run
The program uses a DBM file to store the indexes on disk. There will always be at least one library available on your system which Perl can use to do this, and there may be several -- different implementations each have their own pros and cons. SCB will try to find the BSD DB library or the Gnu DBM library. If these are not available then it will use one of the implementations that is. For most purposes this will work without any problems, but these other implementations often impose limits which interfere slightly with SCB's operation. In practice, the only effect of this is likely to be that the makefile entry for a few of the packages cannot be written -- if this is the case, then warning messages like
will be written by scbindex.pl. This is not a very serious handicap, but can be fixed by installing GDBM or BSD DB, which are available in the public domain. Typically, BSD DB will be installed on a Linux or Digital Unix system, but a Solaris system may lack all of the preferred implementations.!!! Failed to write makefile => package#makefile (block size limit?)
SCB --- Source Code Browser