Thread View: mod.computers.pyramid
1 messages
1 total messages
Started by hedrick
Sat, 13 Dec 1986 19:48
S statistical package
Author: hedrick
Date: Sat, 13 Dec 1986 19:48
Date: Sat, 13 Dec 1986 19:48
102 lines
4204 bytes
4204 bytes
This document describes how to bring up ATT's S system on the Pyramid.
It was used with a copy of S from ATT labelled as the version of Jan
9, 1984. It was compiled under version 3.2.0 of Pyramid's Fortran
compiler, which was distributed with operating system release 3.1.
The following instructions are based on a mail message from someone at
Pyramid, with additional comments based on our experience:
Read "S Installation Procedures"
Read "Maintaining S"
Use the Bourne shell (/bin/sh) exclusively.
Use the UCB universe consistently throughout.
Use the 'att' version of /usr/bin/m4 by editing $C/makehead to
change M4 to /usr/.attbin/m4. (C is set in ENVIRONMENT -- don't
forget to set SHOME also).
OSx 3.0 F77 plus ratfor and efl. [We used a newer F77, which no doubt
explains why we needed some patches that the original installer didn't
need. They are shown below. --Rutgers]
Edit $I/u/mach.m t set the arithmetic constants for the 90x. Set them
the same as the 3B20 -- they both use IEEE floating point.
Due to funky arithmetic conversion, edit $A/infun.awk. Change
print "is(infnum+ii-1)=" nline
to
printf("is(infnum+ii-1)=%d\n",nline)
Ignore exit status of f77 and icomp by inserting a leading dash (-)
in the lines that invoke these programs in $C/makehead
Typically, /usr/S has been chosen as the S home directory (SHOME)
if space available.
Set OPSYS=Berkeley, SHELL=/bin/sh in $SHOME/ENVIRONMENT
Set MAXFILELEN=255 in $I/u/mach.m
Copy $M/big.list to $M/infun.list
Make the following changes to source under /src/fun. < is old > is new
hp2627/zpolyz.r:
43c43
< i = -ifix(col)
---
> i = -col
macro/argno.r:
20a21
> litral=0
optiter/optlp.r:
131c131
< sum = amax0(sum - q, 0.0)
---
> sum = amax1(sum - q, 0.0)
stare/Smakefile:
22c22,23
< $(F77) $(LDFLAGS) $(STRIP) -o dev.dummy $L/device.z dummy.o dinitz.o $L/defer.z $(GRZLIB)
---
> @echo defer_dum.z must be produced using emacs
> $(F77) $(LDFLAGS) $(STRIP) -o dev.dummy $L/device.z dummy.o dinitz.o defer_dum.z $(GRZLIB)
usa/usa.i
27c27
< coord=amin0(px/dx,py/dy) # inches per degree longitude
---
> coord=amin1(px/dx,py/dy) # inches per degree longitude
defer_dum.z is an altered version of $L/defer.z. The problem is that
there is some sloppy code, which when loaded will proceduce 1 multiply
defined symbol, amdiff. Unfortunately, the current version of the
Pyramid loader treats this as a fatal error, so you can't just ignore
it as the instructions say. The simplest solution is to produce an
altered version of defer.z (which is an object file) that has a dummy
symbol instead of the symbol amdiff. I did this by copying $L/defer.z
to the local directory (~s/src/fun/stare) as defer_dum.z, and then
editing it with Emacs. I simply searched for all occurences of amdiff
and replaced them with amdumm. Since this is an object file, you must
be very careful to change only those charcters, and to make the new
symbol the same length as the old one. I don't know any editor other
than Emacs that I would trust to edit object files. You could also
produce a local copy of the source used to produce defer.z, and edit it.
Note that the other changes are of two kinds:
- several cases where the original code passed the wrong type of
variable to a Fortran function, typically an integer to
a function that expected a real. The newest Pyramid compiler
detects those as errors.
- one uninitialized variable.
It is certainly possible that newer versions of the compiler, or further
testing, will turn up more problems of the same sort.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads