1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
.help
NOAO/NSO IRAF/UNIX installation, Nov. 14-15 1985, S. Rooke
.br
A full binary copy of lyra!/iraf (in two tapes) was loaded into the
sunspot! VAX-11/750 running UNIX at NSO. The following notes describe the
various steps taken in the installation.
.nf
1. Leonard Sitongia selected his /u1/ root directory for IRAF as it contained
about 100 Mb in its disk partition.
% mv /u1 /iraf
% vi /etc/fstab # replace "u1" with "iraf" for ra1d
% mount /iraf
% vi /etc/group # add IRAF group members so we can see who
# owns the various IRAF files
% vipw # yanked IRAF group members' entries from
# /etc/passwd/aquila
Now have /iraf with 100000 bytes available; IRAF developers have accounts
for the duration of the installation, mainly so we can easily look at
file ownerships.
2. Read the two tapes into /iraf.
% cd /iraf
% tar -xpf /dev/rmt0 # 1st tape contains /iraf... minus sys/*
(load second tape)
% mkdir /iraf/sys
% cd sys
% tar xp
TAPE READ ERROR AFTER libsys.a
tu0: hard error bn25780 mbsr=13080 <ATTN, DTCMP, DTABT, MBEXC>
cr=100 <INCUPE>
ds=54640 <ERR, MOL, WRL, DPR, DRY, PES>
3. At this point we looked at the tar listing, and saw that the only files
that didn't make it were the following six:
Mkpkg.sh
libcur.a
libmain.o
libstg.a
prelink.e
zzsetenv.def
Not realizing immediately that the 2 libraries must have been development
ones (the real ones were already in /iraf/lib), we attempted to bring
them across from Tucson using TIP(xmodem).
% vi /etc/remote # set Tucson baud rate (1200) for Robotics modem
% tip us-0 # (U.S. Robotics modem looks in /etc/remote)
(now talking to modem)
atdp 1,602,3259251
(got message from micom at remote, in Tucson)
(had to request class "102" rather than class "2").
2% xmodem -sb filename <cr>
(got xmodem message)
~? # to get help from sunspot! tip; look for
# "receive xmodem binary"
~( # (got prompt for local file name)
Thus we copied the 2 libraries and Mkpkg.sh over (we would rebuild the
other files from files already present). We also brought over some files
from lyra!/u2/rooke... for working on graphcap and stdgraph.
4. We now have almost the full binary IRAF under root directory /iraf/.
Now proceed to set up links outside the /iraf/ directories into a few
critical files within it so that all users can access them from a unix
shell.
% su
% cd /usr/include
% ln -s $iraf/lib/libc/iraf.h iraf.h
% cd /local/bin
% ln -s $iraf/lib/mkiraf.csh mkiraf
% ln -s $iraf/lib/cl.e cl
% ln -s $iraf/lib/mklib.e mklib
% ln -s $iraf/lib/xc.e xc
5. We now configure the magtape device tables and give the KI a real host
name then do a "sysgen".
% vi /iraf/dev/hosts # create entries for "sunspot!" and "penumbra!"
% vi /iraf/lib/libc/kernel.h # find "TAPEDRIVE_TABLE"; enter correct
# magtape devices for sunspot!
% su
% cd /iraf/sys
% make >& spool &
(inspecting the spool file found a phase error on envscan.o
from ranlib: libsys.a; mangled string table.
% cd /iraf/sys/etc
% rm envscan.o
% touch envscan.x
% cd ..
% make >& spool & # this time it was OK.
We have now completed the sysgen; however, there had been a minor stdgraph
kernel bug which was removed in a development version of stg_encode I had
tip'd over; I replaced /iraf/sys/gio/stdgraph/stgencode.x and rebuilt the
stdgraph kernel manually:
% cd /iraf/sys/gio/stdgraph
% make >& spool &
(Make wouldn't work; it turned out there was a spurious SPACE
character in the Makefile: "make lib" rather than "makelib" on
the "all: " line; fixed this and rebuilt.)
6. By analogy with the Johns Hopkins installation, since the system
libraries had been modified, I went ahead with relinking the applications
packages; furthermore, I had a development version of showcap which I
used to replace /iraf/pkg/plot/tshowcap.x with in order to debug the
vt240 graphcap entries later on.
% su
% cd /iraf
% csh -x Mkpkg.sh >& spool &
However, talking with Doug Tody during this relink, I found out we only
needed to rebuild the DATAIO package. To save time, I killed the relink,
observed that it had been in the middle of the IMAGES package, and
manually completed the IMAGES rebuild:
% cd /iraf/pkg/images
% make >& spool &
(DATAIO had already successfully built, along with several others. I made
sure that the PLOT package had built successfully with the showcap
change.)
7. All compile-time operations are now complete; we need only modify the
run-time environment for terminal and graphcap entries and set up for
local "mkiraf"'s.
% cd /iraf/dev
% vi termcap # provide vt240 entry
% vi graphcap # provide vt240 entry; this was yanked from
# my development ReGIS graphcap file which
# I had previously "tip"'d over.
% cd /iraf/lib
% vi mkiraf.csh # setenv users /u2/compsup/mother/irafusers
# and directory names at the bottom (prob. no
# changes in these); changed 2 lines about
# vt100 vs vt640 to vt240 vs some other term.
% vi clpackage.cl # change default device names, version, site:
set printer = "imagen" --> "tp"
set stdgraph = "vt640" --> "vt240"
set stdimage = "iism70" --> "? (I forget)"
set stdplot = "versatec" --> "tp"
set terminal = "vt100" --> "vt240"
set version = "NOAO/IRAF V2.0" --> "NOAO/NSO/IRAF V2.0"
% vi login.cl # uncommented printer, stdimage, stdplot and
# gave them the local names.
We also "bgrep"'d some zzsetenv.def files to make sure they weren't
pointing to Tucson pathnames.
8. This completed the non-graphics part of the installation. We were now able
to bring up the cl successfully:
% cd (user's main iraf directory)
% mkiraf
% vi login.cl # modify as desired
% cl
9. The remainder of the installation involved setting up a workable ReGIS
graphcap for NSO's vt240's. I copied the development graphcap entry I
had previously created for the ENCORE HostStation100, and went through
the vt240 Programmer's Summary capability by capability. There were
about six changes from the hs100. Graphics output then worked correctly,
but we had the same problem reading the cursor that I had had with the
hs100 in Tucson. It turned out later, back in Tucson, that the problem
was that I was directing the cl to "lib$xstdgraph.e" (the "kf" parameter)
in graphcap, rather than to "cl" itself. The precedence for the cl
process, when it receives a read-cursor request, is to take the kernel
name from the graphcap entry, regardless of the fact that the cl (or
any other process) was linked directly with the stdgraph kernel code
and calls gki_inline_kernel(). Thus the "kf" parameter in graphcap
must point to the cl itself in order to use the inline kernel. At
present, cursor readback does not work with an external kernel.
Several days after the installation (Nov. 20) I called the "kf" change
in to Leonard at NSO. He made the change and checked out "implot" and
"=gcur", and said they worked correctly with no further changes to our
ReGIS graphcap.
|