\newpage \begin{center} {\Large\bf II} \vspace{3mm} {\large\bf INSTALLATION GUIDE} \end{center} \hugeskip This section is addressed to the system administrator of a UNIX installation. It is duplicated in the README files supplied with MaGIC and xmagic. If you have any problems installing either program contact the authors. \vspace{15mm}\noindent {\large\bf \S2.1\hs{3mm}Installing MaGIC 1.1} \bigskip In order to install MaGIC 1.1 you need a directory containing the following files. Those marked `P' are needed for the parallel version 1.1P only; those marked `S' are for the sequential version only; those unmarked are needed for both versions. \begin{verbatim} Makefile MaGIC.h MaGIC.U (P) MaGIC.m4 (P) MaGIC1.c (S) README TR.c dialog.c isom.c lid.c logic.c logic_io_s.c (S) logic_io_p.c (P) logic_set.c logic_test.c monmacs (directory) (P) monmacs/Makefile (P) monmacs/c.m4.monmacs (P) monmacs/c.m4.smacs (P) monmacs/cputm.U (P) monmacs/cputm.c (P) monmacs/inmain (P) monmacs/rec.U (P) monmacs/send.U (P) monmacs/shmem.U (P) monmacs/soctest.c (P) monmacs/sox.U (P) monmacs/trace.U (P) monmacs/xptrace.c (P) mp_parse.c mstuff (directory) mstuff/AX.show mstuff/BTW.show mstuff/FDL.show mstuff/LOG.show mstuff/MEN.show mstuff/OUT.show mstuff/WFF.show mstuff/ba.16 mstuff/dl.10 mstuff/dln.10 mstuff/dln.14 mstuff/l.8 mstuff/ln.10 mstuff/po.6 mstuff/pon.7 mstuff/pont.8 mstuff/pot.7 mstuff/tn.16 mstuff/to.12 setup.c \end{verbatim} The parallel version of MaGIC has been written using the Argonne Monitor Macros package for portable parallel programming. The part required to compile MaGIC has been attached (in the directory \verb|monmacs|) in case you do not already have these macros installed on your system. \smallskip Before compilation and installation edit the Makefile in the main directory of MaGIC\@. On most systems only the top few lines of the Makefile will require editing. If your system has the header \verb|times.h| (not to be confused with \verb|time.h|) then leave the definition of \verb|HASTIMES| as it is; otherwise comment it out. \verb|BIN| defines where MaGIC's binaries will go, \verb|MAGLIB| defines the directory in which MaGIC's auxiliary files will be installed. The manual will be installed in \verb|$(MANROOT)/man$(MANSECT)| as \verb|magicc.$(MANSECT).Z|, and the formatted version will go to \verb|$(MANROOT)/cat$(MANSECT)|\@. If you intend to place the auxiliary files and manual pages in different locations you should edit \verb|magic.man| so that the manual page points properly to the file locations, and that the manual section (given as ``L") is also correct. \smallskip On our system binary files and manual pages are writable to the group. This is reflected in variables \verb|MANDMDE|, \verb|MANMODE| and \verb|BINMODE|---modify these if you don't want the group to be allowed to write on the binaries and libraries. \smallskip To read the command line MaGIC uses AT\&T's function \verb|getopt|\@. Under Dynix this means you will have to use the \ $-$lseq \ library during linking. Make sure that \verb|LOCLIB| is so defined if you run Dynix. \smallskip If you are installing the parallel version MaGIC 1.1P you need to define the number of available processors \verb|NO_OF_PROCS| first. For sharing reasons, you may wish to restrict users to a number smaller than the maximum provided by the hardware. If so just define it as a constant. You will also need the Argonne Monitor Macros which reside in \verb|./monmacs|\@. They will be made during installation. If you prefer to use your own version of these macros, redefine \verb|MACDIR| to point to your own directory. Note that these are macros for the Sequent Symmetry. You will need different sets of macros for different machines. The file \verb|MaGIC.m4| contains some more macros written by us which may need slight changes for machines other than the Sequent Symmetry. \smallskip If you are installing the sequential version MaGIC 1.1 you must leave the number of processors \verb|NO_OF_PROCS| undefined. Defining it to be 1 does {\em not\/} have the same effect. \smallskip Once you are happy with the Makefile, type \begin{verbatim} make sequential \end{verbatim} to make the sequential version, or \begin{verbatim} make parallel \end{verbatim} to make the parallel version. Note that \verb|make| on its own makes the sequential version by default. Then, if there were no problems with compilation and linking, type \begin{verbatim} make install_sequential \end{verbatim} or, if you are installing MaGIC 1.1P, \begin{verbatim} make install_parallel \end{verbatim} to install MaGIC, MaGIC's libraries and the manual page. Again, a simple \verb|make install| installs the sequential program by default. Then to clean up the source directory type \begin{verbatim} make clean \end{verbatim} If you should ever want to remove MaGIC and all its works type \begin{verbatim} make deinstall \end{verbatim} \newpage\noindent {\large\bf \S2.2\hs{3mm}Installing Xmagic} \bigskip\noindent To install xmagic you should have a directory \verb|XMDIR| containing the following files: \begin{verbatim} Makefile README actions.c axioms.c button.c conns.c defs.h dialog.c fragment.c help (directory) help/axioms.hlp help/connectives.hlp help/formulae.hlp help/intro.hlp help/logic.hlp help/output.hlp help.c jump.c list.c pipe.c syserr.c text.c xmagic.c xmagic.h xmagic.man \end{verbatim} Xmagic is an X Windows based front end to MaGIC\@. Assuming that you have a compatible version of MaGIC (xmagic 1.1 requires MaGIC 1.1, while xmagic 1.0 requires MaGIC 1.0; in any case MaGIC must support the $-$x option which makes it possible to talk to it over a network) and MIT's version of X Windows (at least X11/R3 for xmagic 1.0 and X11/R4 for xmagic 1.1) with the corresponding X Toolkit Athena Widgets, you can install xmagic. To be precise, you must have the following libraries: \begin{verbatim} libXaw.a libXmu.a libXt.a libXext.a libX11.a \end{verbatim} \smallskip The installation of xmagic should be straightforward. First, edit the Makefile. On most systems only the first few lines should be modified. If you decide, as is preferable, to run MaGIC itself on a host different from your local machine or workstation, you must define \verb|MACHINE| and \verb|REMOTE|\@. Otherwise comment out the line beginning with \verb|REMOTE|\@. The variable \verb|MAGIC| must point to the precise location of MaGIC in the directory tree whether on your own or on the remote machine. The variable \verb|HELPPATH| must point to the directory in which you will put the help files which reside in \verb|help|\@. This directory will be created automatically during the installation so you do not have to make it at this stage. The variable \verb|BIN| points to the location of xmagic's executables. \smallskip The manual entry xmagic.man will be put in \verb|$(MANROOT/man$(MANSECT)| as \verb|xmagic.$(MANSECT)|\@. Before installation you should also edit xmagic.man and modify the lines in section \verb|FILES| to correspond with the real location of help and app-defaults files. Also, change the section number (it is ``L") if you decide to put the manual entry not in the local section. \smallskip The group membership of xmagic's executables is set to bin and the ownership to root. The group membership of the help files and of the manual entry is set to man and the ownership to root. These are not essential since xmagic does not require set-uid bits. However, you should check before installation that you have the groups bin and man on your system. If not, change \verb|MANGRP| and \verb|BINGRP| to what you prefer it to be. \smallskip Having done all of these type \begin{verbatim} make all \end{verbatim} in order to compile and link xmagic, and then, if everything goes without glitches, type \begin{verbatim} make install \end{verbatim} to install xmagic, the help files and the manual pages. \smallskip If at some stage you would like to remove xmagic from your system change back to directory \verb|XMDIR| and type \begin{verbatim} make deinstall \end{verbatim} This will automatically remove xmagic, the help directory and the manual pages. \smallskip If you would like to modify some of xmagic's defaults site-wide, write your preferences on a file \verb|XMagic| and put it in \verb|/usr/lib/X11/app-defaults| or whatever else is your \verb|XAPPLOADDIR| directory. See X(1) for more information. \smallskip To start xmagic simply type \begin{verbatim} xmagic \end{verbatim} If xmagic and MaGIC have been properly installed you should see xmagic's main control panel appear on your screen. If you run MaGIC on a remote system you may have to wait a while before the connection is established. If xmagic hangs and the main control panel does not fill with labels (i.e.\ all the boxes and windows are empty) it means that the connection to the remote host is being sought. On our network the connection is usually established within a few seconds. If the connection cannot be established xmagic should exit. \smallskip Before xmagic quits it sends an ``exit" command to MaGIC rather than a kill signal. However, on occasion, we have observed that MaGIC would still hang for a time even after xmagic had aborted. If xmagic is killed, MaGIC is very likely to hang. In this case you may have to kill any dangling processes on the remote host manually. A better signal handling facility will be implemented in future releases. \smallskip Before running xmagic you should be reasonably acquainted with MaGIC itself. \smallskip At this stage xmagic 1.1 has been tested only on Suns 3/50 and 386i running X11/R4 under Sun OS 4.0.3 and (on the 386i) 4.0.1\@. Xmagic 1.1 has been tested on the same machines running X11/R4\@. The remote host was a Sequent Symmetry S27 with 8 processors running Dynix(R) V3.0.12\@. The window manager used was twm on the 386i and olwm on the 3/50. .