Artifact 315e3fbdc8bcb9d992d78d2b2d07b46b7998ac349bf316523f7f942c91735941:
- File
r34.1/doc/install.tex
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 17840) [annotate] [blame] [check-ins using] [more...]
\addtolength{\topmargin}{-.5cm} \documentstyle[11pt]{report} \parindent 0pt \parskip 6pt \pagestyle{empty} \setlength{\topsep}{0.5\baselineskip} % above and below environments \setlength{\itemsep}{\topsep} \setlength{\abovedisplayskip}{\topsep} % for "long" equations \setlength{\belowdisplayskip}{\topsep} \renewcommand{\arraystretch}{1.3} \renewcommand{\thechapter}{\arabic{chapter}} \renewcommand{\thesection}{\arabic{section}.} \renewcommand{\thesubsection}{\arabic{subsection}.} \newcommand{\REDUCE}{REDUCE} % The following are version dependent. \newcommand{\system}{Sun Microsystems SPARC systems and Sun 4} \newcommand{\programsize}{2.5} % megabytes \newcommand{\virtualsize}{5} % megabytes \newcommand{\timingmachine}{Sun 4/260} \newcommand{\machinefactors}{SparcStation 1+&0.9 \\ SparcStation 2 &0.7 \\ SparcServer &0.9 \\ Sun 4/110 &1.1 \\ Sun 4/65 &1.0} \newcommand{\cartridgecommand}{{\tt tar xbf 126 /dev/rst0}} \newcommand{\tapespace}{8.8} % megabytes \newcommand{\createtime}{11} % seconds \newcommand{\executablespace}{2.5} % megabytes \newcommand{\testtime}{5.5} % seconds \begin{document} \begin{titlepage} \samepage %\vspace*{1cm} \begin{center} \begin{minipage}{10cm} \begin{center} {\LARGE {\bf REDUCE} Installation Guide for the} \vspace*{2mm} \\ {\LARGE {\system} Workstations} \\[0.3cm] {\LARGE Version 3.4} \\[0.3cm] {\large by} \\[0.3cm] {\Large Anthony C. Hearn}\\ {\large RAND} \\ {\large Santa Monica, CA 90407-2138 USA} \\[0.3cm] {\large and} \\[0.3cm] {\Large Winfried Neun}\\ {\large ZIB} \\ {\large 1000 Berlin 31, FRG} \\[0.3cm] {\large July 1991}\\[0.5cm] \vfill {\bf Abstract} \end{center} \end{minipage} \end{center} This guide describes the {\REDUCE} distribution tape and procedures for installing, testing and maintaining {\REDUCE} for the {\system} workstation. \begin{center} {ZIB Publication M 2.011.04} \\*[1cm] Copyright \copyright 1991 by RAND and ZIB. All rights reserved. \end{center} \nopagebreak Registered system holders may reproduce all or any part of this publication for internal purposes, provided that the source of the material is clearly acknowledged, and the copyright notice is retained. \end{titlepage} \newpage \tableofcontents \thispagestyle{empty} \newpage \setcounter{page}{1} \pagestyle{plain} \section{Introduction} This guide describes the {\REDUCE} distribution tape and procedures for installing, testing and maintaining {\REDUCE} on the {\system} workstation. {\REDUCE} is based on Standard Lisp, and this version requires the availability of Portable Standard Lisp (PSL), version 3.4 or later. The PSL files necessary to run {\REDUCE} are included on the system tape. This is not however a complete PSL system and in particular does not include PSL sources. A complete PSL, if needed, is available separately from the Konrad-Zuse-Zentrum by contacting: \begin{center} Konrad-Zuse-Zentrum f\"ur Informationstechnik Berlin \\ - Symbolik - \\ Heilbronner Str. 10 \\ 1000 Berlin 31 \\ Federal Republic of Germany \\ Telephone: (+49) 30 89604 195 \\ Electronic Mail: melenk@sc.ZIB-Berlin.dbp.de \\ or: melenk@sc.ZIB-Berlin.de (Internet) \\ Facsimile: (+49) 30 89604 125. \end{center} The distributed version of {\REDUCE} requires approximately {\programsize} megabytes for the program alone without taking into account workspace requirements. It takes its default execution size from the underlying PSL system, which is approximately {\virtualsize} megabytes, and can be enlarged at runtime (see REDUCE User's Guide). The job times given in this guide are for the {\timingmachine}. The following approximate adjustment factors for other machines have been found to apply: \begin{center} \begin{tabular}{ll} \machinefactors \end{tabular} \end{center} \newpage \section{Description of the {\REDUCE} Distribution Tape} The distribution tape is in {\tt tar} format, and was written from the {\REDUCE} root directory. The files are organized in sub-directories, where the sub-directory name describes the contents of the directory, e.g., ./reduce.rootdir/doc. The names and contents of these sub-directories are: \begin{enumerate} \item[{\bf doc}] {\REDUCE} documents, including descriptions of all user contributed packages and the following: \begin{center} \begin{tabular}{rl} reduce.tex & {\REDUCE} User's Manual in \LaTeX\ format \\ install.tex & Installation instructions in \LaTeX\ format \\ oper.tex & System specific operation notes in \LaTeX\ format \\ sl.doc & Standard LISP Report in plain text format. % bugs33.doc & Known bugs and problems in REDUCE 3.3. \end{tabular} \end{center} \item [{\bf fasl} ] Binary versions of sources for fast loading {\REDUCE} functions \item [{\bf lib}] {\REDUCE} user library \item [{\bf log} ] Depository for log files created during system building and testing (initially empty) \item [{\bf psl}] PSL binaries and related files needed to run {\REDUCE} \item [{\bf src}] Sources for creating {\REDUCE}, written in both PSL and RLISP \item [{\bf util}] Appropriate scripts for building {\REDUCE}, etc. \item [{\bf xlog}] ``Exemplary" log files for comparison with your own such files \item [{\bf xmpl}] {\REDUCE} tests, demonstrations and the interactive lessons. \end{enumerate} \section{Installing {\REDUCE}} The following description assumes that {\tt csh} is used as the command shell. If a different shell is used, please change the commands accordingly. To install {\REDUCE}, you need to create a directory for the {\REDUCE} file system. This is identified as ``\$reduce" from now on. It is assumed that you have write access to this directory. Connect to this directory, mount the tape and type for a 1/2" tape \begin{center} \begin{tabbing} and for cartridge tape xxx \= tar x \kill \> {\tt tar x} \\ and for a cartridge tape \\ \> {\cartridgecommand} \end{tabbing} \end{center} This will retrieve all files, and requires approximately {\tapespace} megabytes of disk space. Finally, please run the commands: \begin{center} \begin{tabbing} and for cartridge tape xxx \= tar x \kill \> util/sparsify psl/bpsl \\ and \\ \> util/sparsify reduce \\ which will diminish the disk space requirements. \end{tabbing} \end{center} In most cases the installation of Reduce is complete after unloading the tape. The location of the {\REDUCE} root directory is essential for using {\REDUCE}. Please advise users to set the variable {\tt reduce} in their environment to this location. It may be useful to add a link from one of the standard directories for binaries (e.g. /usr/local/bin) to the reduce root directory. Alternatively, if you prefer not to ask users to set {\tt reduce}, the {\tt reduce} script in the util directory, suitably modified for local file conventions, could be installed in say /usr/local/bin. {\REDUCE} is stored in the system as a binary executable disk file \$reduce/reduce. If modifications of the default settings are requested, one can rebuild this file, which is on the tape, by the following commands: \begin{verbatim} setenv reduce <REDUCE root directory> $reduce/util/mkreduce \end{verbatim} Output from this step is logged to the file \$reduce/log/mkreduce.log. The mkreduce script builds a {\REDUCE} image of the size described above. This is usually adequate for most calculations. If you require a larger (or smaller) image, you should edit the mkreduce script, and modify the numbers in the call of bpsl. In particular, the ``td'' parameter is the total heap and binary program space size (in bytes). During the building of the {\REDUCE} binary, messages saying that various functions have been defined, or not defined, are normal, and can therefore be ignored. \section{Printing Documents} The distributed documents are in the directory \$reduce/doc. The \LaTeX\ files need processing before they can be printed. Plain text files may be printed using standard UNIX utilities. They are paginated and formatted with standard ASCII control characters. A maximum of sixty print lines per page are assumed. The left margin offset must be supplied by the user. \section{Testing {\REDUCE}} To test the {\REDUCE} installation enter: \begin{verbatim} reduce.bindir/reduce in "$reduce/xmpl/reduce.tst"; \end{verbatim} This requires about {\testtime} seconds on the system as described above. Other programs for testing the {\REDUCE} system assembly may also be found in the directory \$reduce/xmpl. \section{Running {\REDUCE} Programs} Once reduce.bindir in the user's search path, {\REDUCE} is simply invoked with its name: \begin{verbatim} reduce \end{verbatim} {\REDUCE} will respond with a banner line and then prompt for the first line of input: \begin{verbatim} REDUCE 3.4, 15-Jul-91 ... 1: \end{verbatim} Prototypical instructions for using this version of {\REDUCE} are available as the file \$reduce/doc/oper.tex. You should edit this to reflect your site-specific implementation before issuing it to users. System independent instructions for the use of {\REDUCE} are given in the {\REDUCE} User's Manual. \section{Working with Minimal Disk Space} Many of the {\REDUCE} system files are not necessary for running {\REDUCE}. In situations where disk space is at a premium, the following files may be deleted from disk: \begin{enumerate} \item[--] all files in the sub-directories doc, src, util, xlog, log and xmpl, \item[--] the files in the sub-directory psl which are listed in the file cleanup.csh in this sub-directory, \item[--] the files alg.b, arith.b, entry.b, mathpr.b, module.b, poly.b, prolog.b, rend.b, and rlisp.b in the sub-directory fasl. \end{enumerate} After rebuilding or copying the files psl/bpsl and reduce, you should run the program {\tt util/sparsify} with the relevant filename as parameter. This will drastically reduce the amount of disk space used. Although the sub-directories doc and xmpl are not necessary, it is advisable to leave at least the {\REDUCE} manual, system operating instructions, the documents for the user packages and the {\REDUCE} interactive lessons on line for users. \section{Rebuilding REDUCE FASL Files} Because of its organization into independently compilable modules, the current {\REDUCE} system is fairly easy to maintain. If any source updates are necessary, they can be incorporated into the appropriate files using a convenient editor. Once any of the system source files have been updated, it is necessary to rebuild (compile) the equivalent fast loading modules in order to utilize the changes. To rebuild any of the {\REDUCE} fasl files, connect to the directory \$reduce and call the script: \begin{verbatim} util/mkfasl xxx \end{verbatim} where {\tt xxx} is the appropriate package name, e.g. rend to rebuild \$reduce/fasl/rend.b from \$reduce/src/rend.red. If any of the fasl files used in building the {\REDUCE} system are changed (alg, arith, entry, mathpr, module, poly, prolog, rend, and rlisp), the reduce binary image will need to be rebuilt with the script: \begin{verbatim} util/mkreduce \end{verbatim} A separate utility script \$reduce/util/build is available for completely rebuilding all of the {\REDUCE} fasl files. This should normally never be required and is included only in case the system becomes so corrupted that it is no longer possible to rebuild even single modules with the mkfasl procedure. \section{Maintaining {\REDUCE}} The {\tt util} directory includes a number of scripts that are useful for the ongoing maintenance of {\REDUCE}. Most of these are only of interest to the system maintainer, although some (such as {\tt mkslfile} and {\tt test}) may be of interest to the general user. Several of these scripts have been described earlier in this Guide. However, for completeness, they are all described in this section. The scripts are as follows: \paragraph{build} This is used to rebuild the complete {\REDUCE} fast-loading (fasl) file system from scratch. It first uses the script {\tt dbuild} to build a version of {\REDUCE} suitable for compiling all packages, and then uses the script {\tt xbuild} to create the actual fasl files. \paragraph{check-all} This can be used to check the logs generated by {\tt test-all} with the ``exemplary" versions found in {\tt xlog}. It produces a {\tt diff} of each log referenced in {\tt test-all}. \paragraph{dbuild} This is used by {\tt build} (q.v.) to build a version of {\REDUCE} suitable for compiling all packages. \paragraph{mkfasl} This creates a single fasl file from a package file. It is used in the form {\tt mkfasl <package-name> }. \paragraph{mkfasl2} This creates a single fasl file from a package file in the \$2 directory. It is normally used to make fasl files from the {\tt lib} directory, in which it is used in the form {\tt mkfasl <package-name> lib}. \paragraph{mkreduce} This has been mentioned earlier. It creates the {\REDUCE} executable from PSL sources and {\REDUCE} fasl files. \paragraph{mkslfile} This has also been mentioned earlier. It generates a Lisp equivalent of {\REDUCE} or RLISP source files. \paragraph{reduce} This is a prototypical script that can be installed, say, in /usr/local/bin, to set the environment variable {\tt reduce}, and call the {\REDUCE} executable. \paragraph{reduce-names} This file is normally used as an argument to {\tt source} to set up symbolic names for the {\REDUCE} sub-directories. It must be modified to conform to local file conventions. \paragraph{sparsify} This utility is used to remove ``dead" space from various PSL binary files that grow in size when copied. In addition to the executable, the source ({\tt sparsify.c}) and a UNIX ``man" page ({\tt sparsify.l}) are included. \paragraph{test} This can be used to run one of the test files in the {\tt xmpl} directory. {\tt test <file>} will run a test file, $<$file$>$.tst that does not require the explicit loading of a package. If a package must be loaded to run a test (e.g., algint), the name of the required package should be provided as a second argument to {\tt test}. \paragraph{test-all} This script runs all the tests contained in the xmpl directory, using the {\tt test} script on each one. This script takes about 45 minutes to run on a SPARCstation 1. \paragraph{testlib} This can be used to run the test files in the {\tt lib} directory. {\tt testlib <package>} will run the test file {\tt <package>.tst} in the {\tt lib} directory, assuming the fasl file for that package has been built. \paragraph{xbuild} This is used by {\tt build} to generate a complete set of fasl files by applying the {\tt mkfasl} script to each package. \section{Program Registration} After installing {\REDUCE}, please fill out the accompanying registration form and send to: \begin{center} Dr. Anthony C. Hearn \\ RAND \\ 1700 Main Street \\ Santa Monica, CA 90407-2138 \\ Telephone (213) 393-0411 \\ Facsimile (213) 393-4818 \\ Email: reduce@rand.org \end{center} This should be done so that you can be advised direct of any changes which are made to the system. Furthermore, the copyright statement on the {\REDUCE} documents requires such registration as a requirement for their local distribution. The test time requested on the registration form is the time printed by the final call of {\tt showtime} in the output from the test described in the section ``Testing {\REDUCE}". \section{Inquiries and Reporting of Errors} We would appreciate hearing about other bugs you encounter or questions you may have regarding the assembly or the operation of the system. Suspected errors should be accompanied by the relevant job output and a copy of the input source. Corrections for documented problems or other improvements to the system are also welcomed. \newpage \pagestyle{empty} \begin{center} {\Large\bf REDUCE 3.4 Registration Form} \end{center} After installing {\REDUCE}, please fill out this form and send to the listed address. This should be done so that you can be advised direct of any changes made to the system. Furthermore, returning the registration form is a requirement for local reproduction of the {\REDUCE} documentation. \vspace*{3mm} \\ Date: \hrulefill \vspace*{3mm}\\ Contact Person: \hrulefill\ \vspace*{3mm}\\ Organization: \hrulefill \vspace*{3mm} \\ Address: \hrulefill \vspace*{3mm} \\ \hspace*{16 mm} \hrulefill \vspace*{3mm} \\ \hspace*{16 mm} \hrulefill \vspace*{3mm} \\ Telephone: \hrulefill\ \vspace*{3mm} \\ Network Address: \hrulefill \\ {\small (Indicate network: Internet, BITNET, EARN, UUCP, etc)} \vspace*{3 mm} \\ REDUCE Supplier: \hrulefill \\[3mm] Computer Description: \vspace*{3 mm} \\ Vendor: \hrulefill \vspace*{2mm} Model: \hrulefill \vspace*{2mm} Operating System: \hrulefill \\ Please indicate the test time as printed by the final call of {\tt showtime} in the output from the installation test described in the section ``Testing {\REDUCE}" of the {\REDUCE} Installation Guide. Also give the total system time, region (virtual) and real system memory available, if applicable. \vspace*{4mm} \\ Time: \hrulefill Total System Time: \hrulefill\ Region: \hrulefill \vspace*{4mm} \\ Real System Memory: \hrulefill .\hspace*{5cm} \vspace*{3 mm} \\ Please also write on the back of this form any comments you may have about the installation procedure, and system documentation and performance. \\[3mm] \noindent If you would like to be listed in a published registry of {\REDUCE} system holders, please check here $\Box$ . \end{document}