home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / math / gp / appa.tex next >
Encoding:
Text File  |  1993-07-28  |  5.2 KB  |  109 lines

  1. \title{Appendix A : Installation Guide for the UNIX Versions}
  2.  
  3. 1) To print the users' manual, type ``make manual'' in the main directory
  4.    or ``make'' in the tex subdirectory.
  5.    This will create a file users.dvi containing the manual and a table of
  6.    contents, and a separate index.dvi containing the index. You must
  7.    then send the two .dvi files to your favorite printer in the usual way.
  8. \smallskip
  9. 2) To compile the library and the calculator (gp).
  10.  
  11. \indent
  12.    a) Choose the Makefile appropriate to your system. Choose Makefile.sun3 if
  13.       your machine is 68020/68030/68040 based. In that case, you must also
  14.       choose which assembly file to use (see 8) below).
  15.       Choose Makefile.sun4 if your machine is Sparc based.
  16.       For any other machine, use Makefile.port. On DECstations, for example, a
  17.       few extra modifications are necessary.
  18.  
  19. \indent
  20.    b) If you have the GNU gcc compiler installed (we recommend that you do), 
  21.       then replace in the Makefile CC=cc by CC=gcc, add the flag -g in the 
  22.       CFLAGS if you know how to use dbx or gdb and want to debug PARI yourself,
  23.       and add the flag -traditional in the compilation options of plot.o.
  24.  
  25. \indent
  26.    c) If you are not running under suntools or X11, change in the Makefile
  27.       plot.sun to plot.null. If you are using the X11 window system, 
  28.       change plot.sun (or plot.null in the port version) to plot.X.
  29.       Some slight modifications may have to be made so that the compiler knows
  30.       where to access the X11 libraries.
  31.  
  32. \indent
  33.    d) If you have the GNU readline library installed (distributed with gdb),
  34.       replace gp.c by gpreadline.c, i.e. mv gp.c gpold.c; mv gpreadline.c gp.c.
  35.       Then in the Makefile add -lreadline -ltermcap to the list of libraries
  36.       in the compilation line for gp.
  37.       Note: if you are compiling with sunview (-lsuntool -lsunwindow -lpixrect)
  38.       you will have an error message about a redefined function {\tt rl\_copy}.
  39.       Since the sun source code is not available, the way out is to recompile
  40.       the GNU readline library by changing in the file readline.c
  41.       {\tt rl\_copy} to some weird name, say {\tt rl\_copy\_kludge}.
  42.       The use of the readline and history library (suggested to me by E. Roeder)
  43.       is not yet documented but is similar to emacs commands. However note that
  44.       it is incompatible with SUN commandtools (but not with shelltools).
  45.  
  46. \indent
  47.    e) Then simply type ``make'' in the distribution directory. Be sure to 
  48.       ``make clean'' before changing to another architecture using the same
  49.       file system. Note that the non 68020 versions are slower, especially
  50.       the ``port'' version.
  51.  
  52. \indent
  53.    f) To test the executable, run gp on the file {\tt testin} as follows:
  54.       {\tt gp$<$testin$>$fileout \&}. Then do a {\tt diff} with the file 
  55.       {\tt testout}. If any
  56.       difference occurs other than the heading (version number and type),
  57.       this means something is wrong. Most probably with your installation
  58.       procedure, but it may be a bug in the system, in which case we would
  59.       appreciate a report. Note that testin is not a severe test and is
  60.       quite fast (a few minutes), but does check at least one instance of
  61.       every function.
  62.  
  63. \smallskip
  64. 3) To install the PARI library so that it can be easily used from a user
  65.    program, create the directory /usr/include/pari-include, and type
  66.    "make install". This puts the executable gp in /usr/local/bin, the library 
  67.    in the directory /usr/local/lib, and the necessary include files in 
  68.    /usr/include/pari-include. If these directories do not suit your
  69.    installation, change the LIBDIR or the INCLUDEDIR in the Makefile. 
  70. \smallskip
  71. 4) Once installed, to link to the PARI library just add -lpari in your
  72.    link command. A sample makefile (Makesimple) is given for gp itself.
  73.    All modifications made to the Makefile should of course be made on the
  74.    Makesimple file.
  75. \smallskip
  76. 5) If you want to use gp under gnuemacs (see section 3.10 of the users' manual)
  77.    change the pathnames in the file pari.el to suit your installation, and read
  78.    the file pari.txt.
  79. \smallskip
  80. 6) If you want to get rid of your .o files and the created binaries in the
  81.    working directory, type ``make clean''.
  82. \smallskip
  83. 7) For the example of section 4.3 of the user's manual, type make
  84.    in the directory example.
  85. \smallskip
  86. 8) The syntax used by the SUN 3 assembler is not standard. On the MacII 
  87.    distribution, the correct Mac assembler syntax is given. In the present
  88.    distribution, in addition to mp.s which has the SUN 3 syntax, two files
  89.    called mp.news and mp.ami are included so as to help people having machines
  90.    with a 680x0 processor ($x>=2$) but a more standard syntax.
  91.  
  92.    This may not correspond to the actual syntax used, but may be closer than 
  93.    mp.s.
  94.    In principle, apart from whitespace and the different syntax, the semantics
  95.    of the two files should be identical. In case of conflict, correct 
  96.    mp.news or mp.ami (i.e. NEVER touch mp.s).
  97.  
  98.    The file mp.news has been successfully tested on a Sony NEWS, and the file
  99.    mp.ami on a Commodore amiga 2500 running Lattice C 5.10.
  100. \smallskip
  101. 9) Send bugs, comments, etc\dots to:\smallskip
  102. \centerline{ pari@mizar.greco-prog.fr }
  103. \smallskip
  104. 10) Good luck!   
  105.  
  106.  
  107.  
  108. \vfill\eject
  109.