jmb@maddog.sgi.com (Jim Barton) (11/20/89)
Enclosed as a copy of the relevant portions of the 3.2 release notes which
come with every 3.2 release (you can get these with the "relnotes" command).
It is broken in three parts, because of the size. Glue them together
before using.
I've taken the liberty of compressing the output by removing extraneous
empty lines. These are chapters 3, 4, 5, 6, 7 and 8. One thing unmentioned
in the release notes is a development caveat that we follow that I believe
you will find out when running the system: the next release has to be at
least as fast as the last one (and it had damn well better be faster!).
These release notes are:
Copyright (c) 1989 Silicon Graphics Computer Systems
All Rights Reserved
-- Jim Barton
Silicon Graphics Computer Systems "UNIX: Live Free Or Die!"
jmb@sgi.com, sgi!jmb@decwrl.dec.com, ...{decwrl,sun}!sgi!jmb
------------------- cut here ---------------------
IRIX 3.2 Release Notes, as posted to USENET in comp.sys.sgi (Part 1 of 3)
Copyright (c) 1989 Silicon Graphics Computer Systems
All Rights Reserved
>>>>>>>>>>
3.2 Release notes, Chapter 3
>>>>>>>>>>
- 1 -
3. Major_Enhancements_and_Compatibility
This chapter describes the major enhancements of the 4D1-3.2
software release, summarizes compatibility issues for the
program development tools, and provides a description of the
subsystems provided with this release.
This chapter is divided into the following sections:
o Major Enhancements
o Compatibility of Program Development Tools
o Description of 4D1-3.2 Subsystems
- 2 -
3.1 Major_Enhancements
3.1.1 Software_Enhancements The 4D1-3.2 release provides
these major software enhancements:
o The IRIS WorkspaceTM
The Workspace is a graphically organized iconic
interface to UNIXTM that allows quick and easy access
to the file system. System administration tasks are
greatly simplified via the System Manager, which is
included in the Workspace package.
o Visual Login
The console login now is visual by default. See
pandora(1) and the
IRIS-4D System Administrator's Guide for information
about configuring the console login.
o Visual Administration/System Manager
The System Manager offers a suite of icon-driven tools
for administering the UNIX system under the IRIX
Workspace. The System Manager is built on top of
standard UNIX commands and file formats. Using those
standard commands directly will not interfere with the
System Manager.
o QuickPaintTM (by Alias Research)
QuickPaint is a color paint program employing a rich
variety of brush types, sizes, and shapes, as well as
many brush functions.
o QuickModelTM (by Alias Research)
QuickModel is a 3-D modeling package that gives the
user the ability to quickly create solid objects,
render them, and interactively view them in real time.
o Personal VisualizerTM (Wavefront's renderer)
The Personal Visualizer is a rendering package that
allows the user to import 3-D models and create
photorealistic renditions of them under different
lighting, material, and other scene characteristics.
The Personal Visualizer features ray tracing
capabilities.
- 3 -
o NURBS
NURBS is a major new GL feature that allows direct
rendering of Trimmed Non-Uniform Rational B-Spline
Surfaces. This new feature is offered through a
combination of software, firmware, and hardware on all
4D platforms.
o Logical Operations (Personal IRIS only)
Logical operations (logicop) is a new GL feature that
allows GL application to perform boolean pixel
operations.
o User-level SCSI devices drivers. See ds(7M) in the
IRIS-4D Programmer's Reference Manual for more
information.
o Support for the use of all serial ports on Power Series
systems.
3.1.2 Hardware_Enhancements The 4D1-3.2 release provides
support for the following hardware and firmware:
o 4D/210GTX 4D/210S
A new member of the Power Series. It has a single
processor MIPS R3000/R3010 running 25 MHz.
o Personal IRIS Turbo
New 20 Mhz CPU board with higher performance. Two
surface mount daughter boards added to GR1 to increase
the graphics performance.
o RE2
New Raster Engine chip is supported on Personal Iris
models including Turbo. It has the following new
features: logical operations on a Personal IRIS, pixel
unpacking, screen mask, better antialiased lines.
o Diskless
Workstations without hard disks. The 4D/20 and 4D/25
can both operate as diskless workstations. Diskless
workstations require special installation.
o SCSI 1/2" Tape - (Personal IRIS only).
o Industry Standard (IBM compatible) floppy disk drive -
Personal IRIS only.
- 4 -
3.2 Compatibility_of_Program_Development_Tools
The following tables describe compatibility between software
releases 4D1-3.1 and 4D1-3.2 and between releases 4D1-2.0
and 4D1-3.2. In these tables, source means source files,
whether FORTRAN, C, or another language. Application
libraries means not only archive libraries of object files
(.o files), but also individual object files. Executables
means executable binaries (not shell command files).
Release 4D1-3.2 is compatible with release 4D1-3.1 with one
exception: programs linked under release 4D1-3.1 using the
shared library /usr/lib/libfm_s.a which were not also linked
with the shared library /usr/lib/libgl_s.a must be relinked
to run under release 4D1-3.2.
Binaries linked with the non-shared versions of libfm.a or
libgl must be relinked.
3.2.1 Upwards_Compatibility
_______________________________________________________
| |_________________________________________|
|4D1-3.1 | Compilation | Tools | Execution |
|Generated | Environment | Environment | Environment |
| | (cc, f77, | (nm, | |
| | ar, ld) | strip, | |
| | | dbx, edge, | |
| | | lint, | |
| | | stdump, | |
| | | size, dis) | |
_______________________________________________________|
|____________|_____________|_____________|_____________|
|application | yes | yes | yes |
|libraries | | | |
| | | | |
|____________|_____________|_____________|_____________|
|executables | NA | yes | yes, |
| | | | unless the |
| | | | non-shared |
| | | | versions |
| | | | of libgl.a |
| | | | or libfm.a |
|____________|_____________|_____________|_____________|
- 5 -
_______________________________________________________
| |_________________________________________|
|4D1-3.0 | Compilation | Tools | Execution |
|Generated | Environment | Environment | Environment |
| | (cc, f77, | (nm, | |
| | ar, ld) | strip, | |
| | | dbx, edge, | |
| | | lint, | |
| | | stdump, | |
| | | size, dis) | |
_______________________________________________________|
|____________|_____________|_____________|_____________|
|application | yes | No for nm, | yes |
|libraries | | dbx, edge, | |
| | | stdump, | |
| | | dis. Yes | |
| | | for strip, | |
| | | size | |
| | | | |
|____________|_____________|_____________|_____________|
|executables | NA | No for nm, | yes, |
| | | dbx, edge, | unless the |
| | | stdump, | non-shared |
| | | dis. Yes | versions |
| | | for strip, | of libgl.a |
| | | size | or libfm.a |
|____________|_____________|_____________|_____________|
- 6 -
_______________________________________________________
| |_________________________________________|
|4D1-2.0 | Compilation | Tools | Execution |
|Generated | Environment | Environment | Environment |
| | (cc, f77, | (nm, | |
| | ar, ld) | strip, | |
| | | dbx, edge, | |
| | | lint, | |
| | | stdump, | |
| | | size, dis) | |
_______________________________________________________|
|____________|_____________|_____________|_____________|
|application | yes | No for nm, | yes |
|libraries | | dbx, edge, | |
| | | stdump, | |
| | | dis. Yes | |
| | | for strip, | |
| | | size | |
| | | | |
|____________|_____________|_____________|_____________|
|executables | NA | No for nm, | No if |
| | | dbx, edge, | graphics. |
| | | stdump, | Yes |
| | | dis. Yes | otherwise. |
| | | for strip, | |
|____________|_____________|_____________|_____________|
3.2.2 Backwards_Compatibility You can safely assume that
software generated in 4D1-3.2 will not work with previous
system software releases.
- 7 -
3.3 Description_of_4D1-3.2_Subsystems
3.3.0.1 Execution_Only_Environment_Tape_1
eoe1.sw.acct This is the System V Process Accounting
package. It is used to monitor system
resource usage on a per-user basis. When
Process Accounting is installed and turned
on, a record is kept of every command that
is executed along with data on the
resources the command used. Report
generating scripts are then run which
produce periodic reports of system
utilization. This package is useful when
it is desired to monitor usage patterns in
systems with large numbers of users.
eoe1.sw.cdsio This is the driver for the VME Serial
Expansion board. It is required for
systems with that option installed.
eoe1.sw.crypt This subsystem contains the crypt and
makekey programs which, along with the
editors ed and vi, implement a simple text
encryption system.
eoe1.sw.dfm This is a subset of IRIX utilities dealing
with directory and file management. It is
generally required in all systems.
eoe1.sw.editors This subsystem contains the standard IRIX
text editors and is generally required on
all systems.
eoe1.sw.hyper This is the driver for the HyperNet VME
interface and is required only on systems
with that option installed.
eoe1.sw.ikc This is the driver for the VME Parallel
Expansion interface and is required only
by systems with that option installed.
- 8 -
eoe1.sw.ipc This subsystem contains utilities useful
in controlling the System V Inter Process
Communications facility. It consists of
two utilities: ipcrm and ipcs.
eoe1.sw.lp This subsystem contains the Line Printer
Spooling package and is required on any
system that will be used with printers,
either locally or over a network.
eoe1.sw.mast This subsystem contains vital graphics
software and is generally required on
workstations. On some systems, this
subsystem will be empty however.
eoe1.sw.perf This subsystem contains the System
Activity Reporting (SAR) package. This
facility is useful for monitoring
processor activity and IRIX system
performance.
It may be used in either an interactive
mode or as a background data
collector/report generator. This
subsystem is not required, but may be
useful in diagnosing system performance
problems.
eoe1.sw.spell This subsystem contains a dictionary and
command that checks spelling.
eoe1.sw.tcp This subsystem contains programs and files
that implement the TCP/IP family of
networking facilities. It is generally
required on all systems even if they will
be used in a stand-alone environment.
eoe1.sw.terminf This is the Terminfo terminal database.
It contains files describing the
capabilities of hundreds of different
types of terminals and is used by the vi
editor as well as many common terminal-
oriented applications. A few common
terminals may be used without this
subsystem.
eoe1.sw.ts This is the driver for the ISI VME
quarter-inch cartridge tape controller.
It is required on systems with that option
installed.
- 9 -
eoe1.sw.unix This subsystem contains the core IRIX
commands and files and is required on all
systems.
- 10 -
eoe1.sw.usrenv This subsystem contains a subset of the
standard IRIX commands and is generally
required on all systems.
eoe1.sw.uucp This is the traditional UUCP
communications package which implements a
point-to-point networking facility. This
is only required for sites where UUCP is
used but it also contains facilities that
may be useful for systems with modems.
eoe1.sw.xm This is the driver for the Xylogics VME
1/2" tape controller and is required only
on systems with the controller installed.
eoe1.man.relnotes This is an on-line readable copy of the
IRIX release notes.
eoe1.man.unix This is an on-line copy of the IRIX user's
manual. Entries may be viewed with the
``man'' command.
3.3.0.2 Execution_Only_Environment_Tape_2
eoe2.sw.NeWS This is the 4Sight window manager and is
required by all workstations. This
subsystem contains the ``standard'' NeWS
fonts.
Courier Icon
Courier-Bold Iris
Courier-BoldOblique Screen
Courier-Oblique Screen-Bold
Cursor Times-Bold
Helvetica !Times-BoldItalic
Helvetica-Bold Times-Italic
Helvetica-BoldOblique Times-Roman
Helvetica-Oblique type
eoe2.sw.NeWSimg This is an image database for the 4Sight
image demonstration programs.
- 11 -
eoe2.sw.X11 This is the run-time X11 windowing
package. It is required to run X11
applications. This subsystem includes the
following fonts that are required to run
X, along with some terminal emulator fonts
expected by xterm users:
6x10 cursor
6x12 Terminal
6x13 Terminal-Bold
8x13 Terminal-BoldNormal
8x13b TerminalNormal
9x15
eoe2.sw.Xdemos These are demonstration programs that make
use of the X windowing system. You must
install eoe2.sw.X11 in order for these
programs to work.
eoe2.sw.Xfonts These are a set of fonts which were
shipped with X11 Release 2. They are no
longer a part of X, but some older X
programs require these fonts to be in
place.
apl German sup
arrow Greek supsup
chess Hebrew swd
chp ipa sym
cyr krivo vbee
Cyrillic lat vctl
dancer met vg
fcor micro vgb
fg mit vgbc
fg-Bold oldera vgh
fg-Oblique plunk vgi
fgone rot vgvb
fgone-Bold runlen vgl
fgone-Oblique sansserif vmic
fgs sansserif-Bold vply
fqxb sansserif-Oblique vr
fr serif vrb
fr-Bold serifb vri
fr-Oblique serifi vsg
frone stan vsgn
frone-Oblique stempl vshd
frthree sub vxms
frtwo subsub xif
- 12 -
eoe2.sw.demos This is the standard SGI demonstration
package. It has been enhanced and
expanded with this release and features a
new menu driven front end called
``buttonfly''. Some programs may not
image properly on machines with eight
bit-planes or without a Z-buffer.
eoe2.sw.envm This is the IRIX Workspace package, a
user-friendly alternative to the standard
IRIX command shell.
eoe2.sw.gltools This subsystem contains a collection of
simple tools that perform a variety of
graphics related functions on a
workstation. Complete source code for
these tools is contained in the
dev.sw.gifts subsystem described in the
next section. These tools include:
blanktime ipaste
cedit istat
clock loadmap
dialwarp mag
gamcal mousewarp
gamma savemap
ical scrsave
icut showmap
imgexp snapshot
interp textcolors
eoe2.sw.moredemos This is an extension of the eoe2.sw.demos
subsytem and contains more demonstration
programs. These programs are segregated
here due to disk space requirements.
eoe2.sw.moregltools This is an extension of the
eoe2.sw.gltools subsystem and contains
commands that implement simple image
processing functions. The complete source
to these commands is contained in the
def.sw.gifts subsystem described in the
next section.
- 13 -
eoe2.sw.optfonts These are additional fonts that are not
required by the base system but may be
desirable for some applications.
Boston NewCenturySchoolbook-Bold
Charter-Black NewCenturySchoolbook-BoldItalic
Charter-BlackItalic NewCenturySchoolbook-Italic
Charter-Italic NewCenturySchoolbook-Roman
Charter-Roman Symbol
Kanji
eoe2.sw.sysadm This is a system administration package
that does not require graphics and is
intended for use primarily on server
machines.
eoe2.sw.vadmin This is a graphical interface to the
standard IRIX administration utilities.
It provides user-friendly tools for
managing printers, users, disks, networks
and other common administrative functions.
eoe2.man.X11 This is an on-line version of the IRIX
user's manual entries that describe the
commands in the eoe2.sw.X11 subsystem.
eoe2.man.demos This is an on-line version of the IRIX
user's manual section 6, which describes
the demonstration programs.
3.3.0.3 Development_Option
dev.sw.G0libraries This subsystem contains versions of all
of the standard programming libraries
compiled with the -G 0 option. These
versions of the libraries are generally
not required.
dev.sw.cc This subsystem is contains all of the
standard IRIX commands and files for
compiling and debugging C programs.
- 14 -
dev.sw.cedgetut This contains files that accompany
documentation on how to use Edge the IRIX
window-based debugger, when programming in
C.
dev.sw.crypt This subsystem contains the file
libcrypt.a for use by programs that
perform data encryption.
dev.sw.debug This contains the IRIX kernel debugger and
is useful only to those developing kernel
device drivers.
dev.sw.giftssrc This subsystem contains a multitude of
sample programs in source code form
including the source for all of the
eoe2.sw.gltools and eoe2.sw.moregltools
subsystems described in the previous
section. While the installation of this
subsystem is not required, many developers
have found the example programs to be
extremely useful in learning about the GL,
TCP/IP, and Generic SCSI interfacing.
dev.sw.rcs This contains the Revision Control System
(RCS) which is a set of programs that may
be used to control a source code
development project. With RCS, changes to
source files are kept in a database with
comments such that previous versions of a
particular file may be retrieved.
dev.sw.sccs This contains the Source Code Control
System which is identical in purpose
although different in use to RCS described
above.
dev.man.cc This contains all of the programmer's
reference manual in an on-line readable
format.
- 15 -
3.4 Subsystem_Sizes
This is a list of all the subsystems and their sizes.
Default Install indicates subsystems that are are installed
by default when you install using automatic mode, or you
select default. To install subsystems that are not installed
by default, you must select them with manual installation
features.
___________________________________________________________________
subsystem Personal IRIS 4D Data Power Default
IRIS & Station Series
Power Server
___________________________________________________________________
eoe1.sw.acct 896 896 896 896 no
eoe1.sw.cdsio 50 50 50 50 yes
eoe1.sw.crypt 52 52 52 52 yes
eoe1.sw.dfm 1053 1053 1053 1053 yes
eoe1.sw.editors 619 619 619 619 yes
eoe1.sw.hyper 194 194 194 194 no
eoe1.sw.ikc 36 36 36 36 yes
eoe1.sw.ipc 214 214 214 214 yes
eoe1.sw.lp 1386 1386 1386 1386 yes
eoe1.sw.mast 0 312 0 0 yes
eoe1.sw.perf 1090 1090 1090 1090 yes
eoe1.sw.spell 867 867 867 867 no
eoe1.sw.tcp 7601 7601 7601 7601 yes
eoe1.sw.terminf 1637 1637 1637 1637 no
eoe1.sw.ts 31 31 31 31 no
eoe1.sw.unix 26894 23455 25612 24531 yes
eoe1.sw.usrenv 990 990 990 990 yes
eoe1.sw.uucp 2088 2088 2088 2088 no
eoe1.sw.xm 67 67 67 67 no
eoe1.man.relnotes 284 284 284 284 yes
eoe1.man.unix 4003 4003 4003 4003 yes
___________________________________________________________________
TABLE 1. S4-EOE1-3.2
- 16 -
_____________________________________________________________________
subsystem Personal IRIS 4D Data Power Default
IRIS & Station Series
Power Server
_____________________________________________________________________
eoe2.sw.NeWS 12791 11911 11493 11493 yes
eoe2.sw.NeWSimg 12879 12879 12879 12879 no
eoe2.sw.X11 17628 17628 17628 17628 no
eoe2.sw.Xdemos 2143 2143 2143 2143 no
eoe2.sw.Xfonts 3072 3072 3072 3072 no
eoe2.sw.demos 4047 4569 2013 2013 yes
eoe2.sw.envm 6828 6828 6828 6828 yes
eoe2.sw.gltools 1048 3144 0 0 yes
eoe2.sw.moredemos 4981 4733 4378 4378 no
eoe2.sw.moregltools 2718 7778 188 188 no
eoe2.sw.optfonts 4617 4617 4617 4617 no
eoe2.sw.sysadm 533 533 533 533 yes
eoe2.sw.vadmin 7875 7875 7875 7875 yes
eoe2.man.X11 663 663 663 663 no
eoe2.man.demos 378 378 378 378 yes
_____________________________________________________________________
TABLE 2. S4-EOE2-3.2
____________________________________________________________________
subsystem Personal IRIS 4D Data Power Default
IRIS & Station Series
Power Server
____________________________________________________________________
dev.sw.G0libraries 15097 13692 15097 15097 no
dev.sw.cc 19308 17452 19222 19222 yes
dev.sw.cedgetut 16 16 16 16 no
dev.sw.crypt 32 32 32 32 yes
dev.sw.debug 848 556 848 556 no
dev.sw.giftssrc 4486 4486 4486 4486 no
dev.sw.rcs 1846 1846 1846 1846 no
dev.sw.sccs 1496 1496 1496 1496 no
dev.man.cc 3121 3121 3121 3121 yes
____________________________________________________________________
TABLE 3. S5-DV01-3.2
>>>>>>>>>>
3.2 Release notes, Chapter 4
>>>>>>>>>>
- 1 -
4. Additions
This chapter describes additions to IRIX, the Graphics
Library, 4Sight, and networking in the 4D1-3.2 software
release. Also, it describes a new command for reading these
release notes on-line.
4.1 On-Line_Release_Notes
Release notes have been added to the on-line documentation.
When you install the on-line documentation for a product,
you will be able to view the release notes on your screen as
you would an on-line manual page. However, unlike the on-
line manual pages, the printed hard copy of these release
notes is more up to date than the on-line version.
The relnotes command accepts the following argments:
-h describes how to use relnotes
-p product displays the chapters or chapter numbers for
a given product
-c chapter displays a given chapter
To see a description of how to use the on-line release notes
tool, type: relnotes -h
To see which product have on-line release notes installed,
type: relnotes
To see which chapters of a product are installed, enter the
command below, but replace the word product with a product
name generated when you type the previous command. renotes
-p product
To see a specific chapter of product, replace the words
product and chapter in the next command: relnotes -p
product -c chapter
To page through a chapter, press <enter> and to quit, press
<del> or <Ctrl-C>. See relnotes(1) for more information.
4.2 Additions_to_IRIX
The 4D1-3.2 software release provides these additions to the
IRIX operating system.
o The IRIS-4D Series Owner's Guide and these release
notes document a new way to back up and restore your
system. This new system supports incremental backup and
- 2 -
recovery across multiple tapes.
o pmake(1) and smake(1) are enhanced versions of make
that create targets in parallel.
o As of the system software release 4D1-3.2, on the
Personal IRIS computers, the SCSI disk driver attempts
to negotiate synchronous SCSI mode with the drive when
it is opened. When supported by the drive, this results
in greater disk throughput, and better SCSI bus
utilization when multiple devices are attached to the
SCSI bus. If problems occur because of this (due to
use of unsupported drives that don't properly handle
this negotiation), you may disable this negotiation by
changing the scsi_syncenable variable in the file
/usr/sysgen/master.d/scsi as described by the comments
in that file, and linking a new kernel with lboot(7M).
Of currently supported drives, the Imprimis 94171 (Wren
IV 344 MB), 94221 (Wren V 190 MB half high), and 94191
(Wren VI 760 MB) drives all support synchronous mode.
The Toshiba MK156FB (156 MB) and Imprimis 94161 (Wren
III 155 MB) do not support synchronous mode, but do
handle the negotiation correctly.
o IRIX now has the capability to force a user process to
run only on a particular CPU on a Power Series
multiprocessor system. This facility is provided at
the IRIX command level by the new command runon, which
can be used as a prefix to a command at the shell
level. For example, you can run vi on CPU 1 by using
the following command: runon 1 vi myfile
This facility is also available as a system call from
within a user program: #include <sys/sysmp.h>
main() {
int cpunumber = 1;
sysmp(MP_MUSTRUN, cpunumber);
/*
* At this point, this process will run only on
* cpu 1 except when it needs to run on another
* cpu to access hardware that only exists on
* the other cpu.
*/
/*
* To revert to normal behavior (the process
runs
- 3 -
* on whatever cpu is available), make the
following
* call:
*/
sysmp(MP_RUNANYWHERE,);
... } Refer to the manual pages runon(1) and
sysmp(2) for further information.
4.2.1 System_Configuration_Files The 4D1-3.2 software
release contains some enhancements to /etc/passwd. When you
install your new software, a file called /etc/passwd.N is
installed. Use diff to compare the two files. Then use a
text editor, such as vi, to edit /etc/passwd.N to include
the pertinent login/password information so users can login.
Rename /etc/passwd.N to /etc/passwd. See Section 2.4,
``Finishing Up the Installation'', for more information
about dealing with ``.N'' and ``.O'' files.
4.3 Additions_to_Documentation
o Administrator's Guide for Diskless Workstations
explains how to be the system administrator for one or
more IRIS-4D/20 diskless workstations. It includes
instructions for setting up a server for diskless
workstations, common changes to the diskless tree, and
configuring a disk upgrade.
o STREAMS Primer and STREAMS Programmer's Guides provide
comprehensive reference documentation for using
STREAMS. The primer provides a high level, technical
overview of STREAMS. The programmer's guide contains
information on the use of the STREAMS mechanism at user
and kernel levels.
o Modeling on the IRIS-4D accompanies the Graphics
Library Programming Guide and contains color plates
that illustrate some of the features and capabilities
of the IRIS-4D for 3-D modeling.
o Silicon Graphics Server Owner's Guide is the new
owner's guide for all Silicon Graphics servers. It
explains how to set up the server, back up and restore
data, recover from a system crash, maintain hardware
and software, and perform the first few administrative
tasks. This information used to be combined with
information on Silicon Graphics workstations, in the
IRIS-4D Series Owner's Guide. With the new server
guide, you no longer need to sort through material
intended for workstations.
- 4 -
4.4 Additions_to_Demos
Several demos, which used to be shipped with the GT, have
been added for Personal IRIS and Power Series (GTX) systems:
_______________________________________________________________
buttonfly 3D graphical interface to other demos
solidview display and interact with finite element data
lathe interactive simulation of a lathe
flip interactive rotation of lit objects (replaces spin)
boing a ``rubber planets'' simulation
New demos for the Personal IRIS, GT, and GTX:
______________________________________________________
Demo Description
______________________________________________________
flyray an interactive ray-tracer
logo watch a Silicon Graphics logo being grown
newton enhanced version of jello (more polyhedra)
gview display the results of radiosity calculations
Demos installed on the Personal IRIS only:
_____________________________________
house interactively display a house
Demos installed on GT and Power Series only (need alpha
bitplanes):
___________________________________________________________
Demo Description
___________________________________________________________
mir mirrored objects using z- and alpha-buffer tricks
shadows objects casting shadows on each other
4.5 Additions_to_Networking
The 4D1-3.2 release provides these additions to networking:
o On Power Series multiprocessor systems, the processor
which receives network interrupts can be reassigned.
- 5 -
The variable network_processor in the file
/usr/sysgen/master.d/kernel defines this processor.
Processor numbering begins at 0. On multiprocessor
systems, the default is to use processor 1. To reassign
the network processor, change this value and use
lboot(1M) to create a new kernel. On single processor
systems, the default value of 0 must not be changed.
The specified processor receives all interrupt levels
which are generated by networking devices, including
all Ethernet and HyperNET VME boards. Currently, this
is only IRQ4. If any unsupported VME boards which
generate IRQ4 are installed in a multiprocessor system,
the network processor should be reassigned to 0 to
insure compatibility with the software driver.
4.6 Additions_to_the_Graphics_Library
4.6.1 NURBS
With the IRIX 3.2 software release comes a major new GL
feature: direct rendering of Trimmed Non-Uniform Rational
B-Spline Surfaces. This new feature is offered through a
combination of software, firmware, and hardware on all
IRIS-4D platforms. NURBS surfaces and trimming curves of up
to 8th order are supported (except for the Personal IRIS
which supports up to 4th order surfaces). Tessellation of
trimmed NURBS surfaces is based not only of the shape and
the view, but also on a user-settable parameter which
controls the size of polygons generated. This gives a
smooth speed/quality tradeoff that the user may adjust
adaptively. Routines supporting this new feature may be
used in both immedate mode and display-list mode. This
interface is compliant with the PHIGS+ specification.
The new routines are:
bgnsurface
bgntrim
endsurface
endtrim
getnurbsproperty
setnurbsproperty
nurbscurve
nurbssurface
pwlcurve
See the Graphics Library Programmer's Guide for more
information.
- 6 -
4.6.2 Rendering
o colorf is a new GL routine to specify fractional
colorindex values using floating point arguments. Use
it to draw shaded colorindex images.
o logicop (only on the Personal IRIS with RE2) is a new
GL routine to specify logical operations to be
performed on pixels drawn by graphic primitives.
4.6.3 Anti-Aliasing Release 4D1-3.2 expands drawing of
antialiased primitives and includes the new feature of
subpixel positioning for point, line and polygon vertices.
Certain capabilities may not exist on all hardware
configurations (see manual pages for details).
o pntsmooth is a new GL routine to cause all points to be
drawn with antialiasing.
o linesmooth allows you to set antialiasing of lines on
or off. New development should use linesmooth instead
of smoothline.
o subpixel is a new GL routine to invoke subpixel
positioning of all lines and points, typically used
with linesmooth and pntsmooth for highest quality of
line and point drawing.
4.6.4 Lighting lmcolor (Personal IRIS and GT) provides a
quick way to change the properties of the current material.
4.6.5 Event_Queue There is a new device, called QFULL.
When it is queued, a QFULL event will be inserted in the
event queue of a GL program at the point at which a queue
overflow occurred. The QFULL event will be returned by
qread(3G) at the point in the input queue at which data was
lost.
4.6.6 Menus
o setpup is a new routine that allows you to affect the
display characteristics of a pop up menu. It allows you
to grey out entries that you don't want to be active,
then later re-enable them without recreating the whole
menu.
o defpup and addtopup calls now understand a %l option
for an entry. It will place a seperating line between
entries in the menu.
- 7 -
4.6.7 Windows swinopen is a new GL routine which creates a
subwindow, or a window within another window (called the
parent of the subwindow). Subwindows maintain a fixed
geometrical relationship with their parent window, that is,
the subwindow moves as the parent window is moved.
4.6.8 Graphics_Peripherals
o videocmd is a new GL routine which initiates command
transfers to video peripherals. Use this to initialize
and request frame transfers from the Live Video
Digitizer option board on the GTX
o IRISphere devices have been added to <gl/device.h>
o STR_RECT is a sybol definded <gl/get.h> for use in
setmonitor/getmonitor to support StereoGraphics stereo
hardware. This new video mode allows 1280x492x2
resolution.
4.6.9 Configuration/Compatibiltiy
o getgdesc is a new GL routine that allows a program to
inquire about characteristics of the graphics system
upon which it is running. Use this to configure your
software at run time based upon the capabilities of the
current graphics system.
o glcompat: A new compatibility mode has been added:
GLC_ZRANGEMAP. It controls whether the domain of the
z-range arguments to lsetdepth, lRGBrange, and
lshaderange is graphics system dependent or
independent.
o gversion now recognizes the RE2 and Turbo Graphics on
the Personal IRIS.
>>>>>>>>>>
3.2 Release notes, Chapter 5
>>>>>>>>>>
- 1 -
5. Changes
This chapter describes changes to IRIX, graphics,
networking, 4Sight, and Program Development tools in system
software release 4D1-3.2.
5.1 Changes_to_IRIX
The 4D1-3.2 release includes these changes to IRIX:
o The sysadm versions of backup and restore are no longer
supported. These utilities have been replaced with new
tools, which are documented in Appendix A, ``Backing Up
and Restoring Your System'' and Appendix B,
``Recovering From a System Crash''
o The beer backup utility is no longer supported.
o Printer device support has been modified for software
release 4D1-3.2 to comply more closely with System V
rules for printer drivers. Some of the lp commands now
have different pathnames and might have additional
options.
When you update to software release 4D1-3.2, remove
your old printer definitions. Then re-install the
printer definitions using the Printer Administration
tool, which is included with the System Manager. See
the IRIS-4D System Administrator's Guide for more
information about using the System Manager.
Old printers will still work even if you don't perform
this procedure. However, administering printer
definitions in the future will be more difficult.
o snapshot(6D), a tool to save a portion of the screen in
an image file, replaces snap(1G). snapshot is much
easier to use.
o Several changes have been made to the libmalloc
routines that are available when a program is linked
with the -lmalloc or -lmpc (the multiprocessing
library) directives.
Two options have been added to the mallopt(3X) routine,
which allows user control of malloc's allocation
algorithm. When malloc(3X) requires additional space
it uses the sbrk(2) system call. It always requests
enough memory for the current malloc request rounded up
to a minimum block size: that size can now be specified
via an M_BLKSZ argument to mallopt.
- 2 -
Additionally, malloc will now abort its search for a
free block of memory and call sbrk(2) for memory to
satisfy a request after it has searched 100 blocks to
no avail. The number of blocks to search can be
changed by calling mallopt to change the M_MXCHK
parameter.
Along with the above change, various algorithmic
changes were made to reduce fragmentation and to speed
up memory coalesing when memory is returned via
free(3X). The changes now ensure that memory allocated
to the user will always be (minimally) double-word
aligned.
o The Extent File System code in IRIX has been enhanced
in software release 4D1-3.2 to support files bigger
than 256 megabytes. In the new software, files are
limited by the size of the disk (the largest Silicon
Graphics currently ships has 1.2 Gbytes unformatted
capacity) and the fact that offsets into the file are
represented by 32-bit integers. The 32-bit limitation
puts the ceiling at 2 Gbytes.
o The IRIX kernel has been enhanced to allow pages of
page table entries and user structures in the kernel to
be pageable. This means fewer pages are wired down by
the kernel, so that in situations where the system is
short on physical memory, more memory is available to
hold user program text and data.
o The graphical system monitor, gr_osview(1), has been
significantly enhanced. It provides additional
information, much more flexible display modes
(including strip charts) and is configurable from a
command file to make the greater flexibility easy to
use. Refer to the gr_osview(1) manual entry for a
---------- end of Part 1jmb@maddog.sgi.com (Jim Barton) (11/20/89)
-------------------- cut here -------------------
detailed description the new features.
o The IRIX emulation library for the Sequent parallel
programming primitives (m_fork et al.). has been
expanded to include the m_park_procs, m_rele_procs, and
m_sync primitives. These allow the master process to
suspend all the parallel child processes during long
sections that are single threaded and then resume them
before entering a parallel session. After calling
m_park_procs, the child processes will no longer be
scheduled and so will not consume any processing time
until m_rele_procs is called by the master process.
Refer to the m_fork(3P) manual entry for more
information.
- 3 -
5.2 Changes_to_Documentation
o IRIS-4D System Administrator's Guide has been
completely revised for this release. It explains how
to use advanced IRIX utilities and other standalone
programs to keep an IRIS-4D Series workstation or
server running smoothly. It contains theory of
operation, background information, and step-by-step
procedures that supplement the newly revised IRIS-4D
and server owner's guides.
o The Graphics Library User's Guide and the GT Graphics
Library User's Guide have been combined into a single
volume for the IRIS-4D series workstations. The
combined volume is titled the Graphics Library
Programming Guide and contains information for writing
GL programs for all IRIS-4D series workstations.
5.3 Changes_to_Graphics
5.3.1 The_Default_Color_Map The default color map, which
is loaded by 4Sight, has changed for this software release.
The color map is a system wide resource, which allows the
mapping of an arbitrary color index pixel to any desired
combination of red, green, and blue.
There is only one color map per system. Therefore, all
color index programs that are running at the same time share
the same color map. The first 256 entries of the color map
have been re-designed using an abstract color model such
that:
o multiple programs can aesthetically coexist on the
screen
o double-buffered applications look good on minimal
systems
o programs written to the X Window System standard can
use the color map
Because the colormap is shared, a program that rewrites
entries in the colormap will potentially affect other
programs in a multi-window environment. This is especially
true on minimal configuration systems where the only entries
in the map are the bottom 256. The previous colormap
arrangement did not provide a structure and methodology to
avoid this; the new one does.
- 4 -
With this color map, application programs can specify colors
as if running on a full color system; library routines take
care of mapping requested colors to the nearest available
color.
The abstract color model does a good job of matching desired
colors. However, the model breaks down if a program
manipulates the color map.
Many programs that appear to need to manipulate the color
map can be changed to redraw the image using new colors
instead. This doesn't work for programs that depend on
colormap animation, where the colormap manipulations are
only a part of the image rendering concept, or if the color
indexies are used by the hardware, as for depth queueing.
An example of this is when ramps are used for shaded
polygons or depth-queued lines.
A minimally-configured Personal Iris has only 8 color bit
planes, which means that a double buffered program running
on these machines has only four bits per buffer. Four bits
means only sixteen colors, which are the first sixteen
colors in the colormap.
Both maps have the first eight colors as defined by the GL.
Following those colors in the pre 4D1-3.2 color map was a
grey ramp running from dark to light. This severely limited
the colors options available to double buffered applications
on a minimal system, since only the first 16 were available.
The usable greys were all very dark and looked out of place
when used with the primary and secondary colors the GL
defines.
The 4D1-3.2 color map organization has some pastels in the
second eight color slots. These mix nicely with the first
eight primary an secondary colors. By dithering out of the
first 16 colors you can achieve a fairly wide spread of both
hue and saturation. Dithering in the pre 4D1-3.2 color map
produces mainly dark muddy tones, not generally considered
satisfying.
X clients are traditionally black and white, or use a
minimal notion of color. Some newer, more ambitious, X
clients really want and use many more colors; some even use
24-bit style colors.
The new color map organization doesn't help the more greedy
X client but it does set aside 16 colors for the X server to
manage. These colors are conveniently located on a power of
two, and are expected to meet most X clients demands.
- 5 -
If you run X these 16 colors are reserved for the X server
and are not directly available to users. If you never use
or run X, you can freely do what you want with them.
The library /usr/lib/libgutil.a contains the routines to map
full color requested to color map indicies. abstract color
model. The routines come in two flavors, those with
floating point arguments between 0 and 1, and those with
integer arguments between 0 and 255. Use whichever is most
natural. ci = rgb(r,g,b); /* set and return a color
index
* approximating the given r,g,b
*/ ci = rgbi(ri,gi,bi);
ci = hsv(h,s,v); /* set and return a color index
* approximating the given h,s,v
*/ ci = hsvi(hi,si,si);
ci = grey(shade); /* set and return a color index
* approximating the given shade
* of grey
*/ ci = greyi(shadei);
Each routine figures out what index is the closest to the
color requested, sets that as the current color, and returns
the index it found. A few simple operations, based on some
tables, give the returned value.
Programs that do not fit into the abstract color map scheme
typically need large ramps. In the colorful part of the
map, 140 contiguous entries go unused by the default window
manager and most standard tools. Thus an ``antisocial''
application program can freely write numerous entries and
only destroy the appearance of other applications, not the
window system itself.
This range of colors starts just after the grey ramp at
color index 56 and continues through color index 195. The
window system uses color indicies 196-255. Some standard
tools like cedit use a few colors from the middle of this
range, but only in small areas so remapping is likely to
leave them intelligible.
5.3.2 Changes_to_4Sight
o wsh(1G) now provides a text selection facility that
allows text to be transferred from the display of one
wsh window and sent as input to any other wsh window.
It also has an improved scroll bar with a proportional
thumb.
- 6 -
o The Window Manager has improved aesthetics and
controls, and better support for multi-windowed
applications.
The window borders have been changed to accommodate
strectch controls at each corner of the window. The
window borders and toolchests have also been given a
rounded appearance matching the aesthetics of the
WorkSpace and Visual Administration tools. Stowed
windows (icons) are now arranged in neat rows instead
of randomly across the screen. Enhanced versions of
the preference features previously found in the 4DGifts
have been incorporated into the window manager. These
features provide automatic placement and sizing of
windows for any application and allow for windows of
the same type to be neatly stacked. For example, all
wsh windows can be neatly stacked up.
A Close entry has been added to the menu together with
a corresponding border control. This entry is designed
for multi-windowed applications. Close closes the
window and, if notification is enabled, notifies the
client. If the window being closed is the last window
of the application, Close becomes equivalent to the
existing Quit entry which closes the window and kills
the application.
All these new features are described in the 4Sight
Programmer's Guide.
5.3.3 Changes to the Graphics Library and Distributed
Graphics Library
o The GL viewport routine allows application programs to
use a viewport that is _32K in both X and Y while in
feedback mode. The viewport is limited to -XSCREENMAX
to 2*XSCREENMAX in X and -YSCREENMAX to 2*YSCREENMAX in
Y while not in feedback mode.
o The smoothline routine now is obsolete and has been
replaced with a functionally equivalent routine called
linesmooth.
o The lsetdepth routine replaces setdepth, which is now
obsolete.
The depth range now defaults to the entire range
supported by the hardware on which the program is
running. The limits of the depth range are returned by
the getgdesc routine.
- 7 -
o The lshaderange routine replaces shaderange, which is
now obsolete.
The depth range of the default shade range is now the
entire range supported by the hardware on which the
program is running.
o The lRGBrange routine replaces RGBrange, which is now
obsolete.
o The getdepth routine is now obsolete. It is not
guaranteed to return correct values if lsetdepth is
used to set the depth range; only works correctly when
setdepth is used viewport in feedback mode allows range
supported by feedback datatype.
o Documentation that was previously released indicated
that blending was available only if 2 bitplanes were
installed. This has been corrected.
o GT/GTX now correctly depthqueues when the depth range
is reversed (Znear > Zfar). The other models still
fail.
o The size of the graphics input event queue has been
increased from 51 elements to 101 elements.
o zfunction now works across the entire IRIS-4D product
line.
5.3.4 Changes_to_the_Distributed_Graphics_Library The
changes to the Distributed Graphics Library are the same as
the changes to the Graphics Library with these additions:
o The arguments to winmove and winposition arguments have
been changed from shorts to longs. Although this does
not affect GL programs, it will break DGL programs that
call these routines. Such DGL programs linked with a
pre-4D1-3.2 libdgl.a will not work with 4D1-3.2 DGL
servers, and DGL programs linked with a 4D1-3.2
libdgl.a will not work with pre-4D1-3.2 DGL servers.
o The environment variables DISPLAY and NEWSSERVER are no
longer used for determining the default DGL server. The
environment variable DGLSERVER is now used instead. The
"decimal_address.port" host format, typically used
along with NEWSSERVER, is no longer accepted.
o dglopen can now return ESRCH (no such process) if the
window manager is not running on the server.
- 8 -
o The protocol for popup callback functions ("%f") has
been changed to allow callback functions to call other
DGL routines. Any old DGL programs that used callbacks
will not work with the new DGL server and new DGL
programs will not work with the old DGL server. The
incompatibility arises only when the callback occurs,
not when the program is run.
5.3.5 Changes_to_4Dgifts This section contains information
about a wealth of source code examples, which you receive as
``gifts'' from Silicon Graphics, Inc. These gifts are not
installed or updated by default. To use them, you must first
install them using inst(1M). For information about using
inst and the manual installation features, see Chapter 2,
``Software Installation'' or the IRIS-4D System
Administrator's Guide.
Once installed, you find these source code examples in a
sample user account directory called /usr/people/4Dgifts.
4Dgifts is set up as a sample user account for two reasons:
o to allow you to learn by example
o to allow you to be productive while you are becoming
familiar with the NeWS environment and the ability to
customize that environment with PostScript
You should find a README file in virtually every directory
in and including 4Dgifts. Much of what is discussed below
is covered in greater detail in the README files. Read the
file /usr/people/4Dgifts/README to gain a more complete
understanding of the remainder of this section.
5.3.5.0.1 Disclaimer This reinstatement of a source code
repository is a major coup for people that use Silicon
Graphics Inc., systems. Although there is a disclaimer in
the file /usr/people/4Dgifts/README file, which states ``It
is essential to understand that these gifts are unsupported
by Silicon Graphics Inc., the fact is we continue to receive
many requests, suggestions, etc for these gifts.
- 9 -
We welcome any and all such input. However, we are the
final arbiters as to what additions or changes will be
implemented.
The main subdirectories in 4Dgifts are: examples kermit and
iristools The examples directory contains various
subdirectories housing an assortment of code examples:
Fortran graphics programs written in Fortran
devices digitizer and dial and button box
programs, as well as a program that uses
the /dev/scsi generic SCSI driver.
fontmanger includes sample programs demonstrating
usage of the fontmanager library, libfm.a
grafix various C graphics programs.
hllapi ibm-link for the SGI 3270 emulation
package.
light on-line versions of the lighting programs
discussed in chapter 9 of the Graphics
Library Programming Guide.
nurbs contains 4 nurbs sample programs: one
written in C, one for the DGL, on in
Fortran, and one in Pascal.
tcp contains programs that communicate with
remote systems such as the IRIS and 4.3BSD
computers.
trackball contains 4 components of code for a
Virtual Trackball Implementation:
routines to calculate the virtual
trackball, event-queue handling, drive a
user-interface, and a simple program to
use the other 3.
unix contains fundamental examples of system
programming.
video contains programs demonstrating usage of
various video modes.
- 10 -
The kermit directory holds the public domain source and
documentation for kermit, a file transfer protocol that is
useful when you need to send files to and from an IRIS/UNIX
computer and non-unix configurations like VMS or DOS based
machines.
The iristools directory contains a super-set of special
image libraries, image processing utilities, and graphics
tools that used to exist, in the 3000 family-line of
computers, under /usr/people/gifts/mextools. This source
was used to build the binaries that now reside in /usr/sbin
(i.e., cedit, showmap, ipaste, mag, etc.). In other words,
every executable in /usr/sbin with a source file under
iristools was built from that exact source (including the
two libraries libgutil.a and libimage.a under iristools).
Beyond this, the directory /usr/people/4Dgifts is setup to
work as a sample NeWS user login account replete with many
template .ps files to help you understand the extent to
which you can customize NeWS environment. Along with a more
substantial user.ps, file there is a startup.ps file, as
well as a subdirectory /usr/people/4Dgifts/.4sight. This
directory contains nine additional startup.ps files that
show you how to create your own user-defined icons, window
colors, menu fonts, etc.. These files have comments
throughout them to help describe what they do. There are
many ways you can change and alter all of the possible
startup variables.
5.3.5.1 Special_Gifts
./iristools/imgtools/snapshot.c
This program allows you to interactively grab part
or all of of an image on the screen and dump it
into an image file. It is the next generation of
icut. By default, it is loaded in /usr/sbin as a
gltool. See snapshot(6D). This image file can
then be put back up on the screen with ipaste(1G),
or sent to a supported printers with lp(1).
./{.workspace/*, README.wspace} There is an initial setup
for a version of workspace with 4Dgifts that
resides in the directory .workspace. The file
README.wspace describes more of what is currently
included.
./examples/grafix/{zrgb.c, zrgbmenu.c, zcmapmenu.c}
./examples/Fortran/{zrgb.f, zrgbmenu.f, zcmapmenu.f}
- 11 -
These programs demonstrate aspects of zbuffering in
various implementations. Of particular note are
the zcmapmenu versions which include a powerful
example in the main infinite loop of how to write
code that does NOT eat up extra CPU cycles
(provided one does not need the animation to
continue when the input focus is elsewhere)
./examples/devices/{iisc.c, inquire.c}
Two programs that use the the /dev/scsi generic
SCSI driver. Be sure to also consult the README
file in this directory.
5.3.5.2 Installing_the_Gifts To install the 4Dgifts, login
as root, type inst, and follow the instructions on your
screen. Refer to Chapter 2, ``Installing Software'' for a
detail discussion of inst. Choose the manual installation
features, and explicitly select this subsystem
dev.sw.giftssrc. Once you have specified that you wish to
use the manual installation features, type: select
from the "Manual>" menu and enter yes dev.sw.giftssrc
Now 4Dgifts will be included when you run the install menu
item. The size of this account (uncompiled) is
approximately 4095 blocks or about 2.17 MBytes.
5.3.5.3 Setting_Up_4Dgifts_as_a_User_Login_Account Upon
successful completion of loading the dev.sw.giftssrc
subsystem from the Development tape (see below) you need to
perform one more modification in order to set up
/usr/people/4Dgifts as its own account:
1. Login as root.
2. Edit the file /etc/passwd.
Duplicate the ``guest'' passwd line.
Change every occurrence of the word ``guest'' on this
duplicate line to be ``4Dgifts'' instead.
3. Write the changes and exit the editor.
4. Now logout of the console screen entirely and login as
4Dgifts.
You will see things startup in a different way than
they do for guest root or any of the other "default"
login accounts. The intent here is that you copy
- 12 -
~4Dgifts/{.4sight, user.ps, startup.ps} into you own
home directory and play with changing whatever parts
you wish to make it place and define things more in the
way you prefer.
5.3.6 Changes_to_Demos The directory structure of
/usr/demos has been re-organized. All demo executables have
been moved from /usr/demos into /usr/demos/bin, and all data
used by the demos has been moved into /usr/demos/data.
Several old demos have been dropped from distribution,
including revolution, jet, demomakemap, superbreak and spin.
Buttonfly(6D) is a fancy interface to the demos, and is new
with the IRIX 3.2 release. Running /usr/demos/buttonfly is
the easiest way to run the demos.
For Workspace users, the directories
/usr/demos/applications, /usr/demos/cpu,
/usr/demos/graphics, /usr/demos/image, and /usr/demos/old
have scripts inside them to run the demos with appropriate
data.
All of the demos have manual pages, which can be seen using
either the standard man command, or through buttonfly's
popup menus.
All of the demos now have information slides, which give you
a brief description of what the demo is doing. These can be
accessed through buttonfly's popup menus or from the
Workspace.
5.3.7 Changes_to_the_NeWS_Gifts The NeWS gifts are now
under /usr/NeWS/clientsrc, and you can compiled them
yourself.
- 13 -
5.4 Changes_to_Networking
The 4D1-3.2 software release includes these changes to
networking:
o An improved multiprocessor implementation of System V
STREAMS allows the use of all serial ports on Power
Series systems. For information on how to utilize the
additional ports, see ``Attaching a Terminal, Modem, or
Dumb Printer'' in the IRIS-4D System Administrator's
Guide, duart(7), and inittab(4). Developers note that
all STREAMS drivers must obey the conventions for
maintaining mutual exclusion on multiprocessor systems.
These conventions are discussed in Appendix F,
``STREAMS on the IRIS-4D'' of the STREAMS Programmer's
Guide.
o System V STREAMS queue and stream structures are now
allocated dynamically. The static allocations have
been removed from the kernel master file.
o For security, a user's .rhost file must be owned by the
user or by root and must be writable by only the owner
or root. Use the command: chmod go-w $HOME/.rhost to
prevent others from writing to the file. $HOME is the
pathname of the user's home directory.
o rshd(1M) now logs unsuccessful accesses to syslog(1M).
The new -L option allows you to log successful
accesses, too. To enable -L, append it to the rshd
entry in /usr/etc/inetd.conf. See rshd(1M) in the IRIX
System Administrator's Reference Manual for more
information.
o The following daemons now look for .options files in
/etc/config:
named(1M)
rpc.passwd(1M)
to allow customers to specify different startup
options. See network(1M) and the daemons' manual pages
for details.
- 14 -
o For proper system startup, all network interfaces on
the IRIS must have a valid address-hostname entry in
/etc/hosts. ifconfig(1M) converts a hostname into an
Internet address by looking in /etc/hosts only. It does
not use named(1M) or Yellow Pages.
5.5 Changes_to_Program_Development_Tools
The C runtime startup routine now returns (to the
environment) the value returned from the C main function.
Release 4D1-3.1 returned zero to the environment regardless
what value was returned from the main function. It is
essential that every program call exit or return a
meaningful value from its main function. If a meaningful
value is not returned, a garbage value is returned to the
environment. This change was made to conform to the
proposed ANSI C standard.
5.5.1 Changes_to_dbx A great deal of information was added
to the dbx man page and help file /usr/lib/dbx.help. The
information in them might be helpful to you/
The tags command was added to dbx. It uses ctags(1) data.
It is like the func command except that tags can find C
macros (those with arguments) as well as functions.
The ccall command was added. It (as well as expression
evaluation) allows interactive calls to functions in the
program being debugged. In this release only constant
arguments may be supplied to the function being called.
By default, anonymous blocks (in C {} delimited compound
statements) in functions are now not shown on stack traces.
Set the dbx variable $hide_anonymous_blocks to 0 to show all
internal blocks.
The syscall command was added to allow breakpointing your
program on entry-to or return-from any system call. To
intercept a call to exit(2), enter the command syscall catch
call exit. See the man page for further details.
The hed command can be used to edit the dbx history file
with your favorite editor. Commands left in the edit
session when you exit the editor are automatically submitted
to dbx immediately.
C casts to pointers and integral types can now be used in
expressions. See the EXPRESSIONS and HINTS sections of
/usr/lib/dbx.help for further information.
- 15 -
A number of new commands and command-clauses relating to
debugging multiple-process applications and multiple-
processor applications are available. See the man page
sections on ``Multiple process debugging'' and ``Process
Group Debugging Facilities''.
The $promptonfork debugger variable now controls a more
flexible and usable facility. If 0, then when a program
forks or sprocs neither it nor the child stops (that is, the
fork is essentially invisible). If 2 then the child is
added to the process list automatically and both parent and
child stop. If 1 then you are asked whether to add the
child to the process list; the parent is left stopped and
the child is left stopped (is ignored and runs) if you
answered y (n).
5.6 Changes_Affecting_the_Tablet_and_Dial_and_Button_Box
Starting in software release 4D1-3.2, the tablet device and
dial+buttons device will no longer be pointed to by the
devices /dev/tablet and /dev/dials. We have removed these
dependencies and the device links themselves in order to
standardize the queue interface for alternate input devices.
Basically, all I/O to these devices should go through the
daemons associated with those devices. The daemons alone
will have the knowledge of what physical port input devices
are connected to and hardware command sequences associated
with those devices.
>>>>>>>>>>
3.2 Release notes, Chapter 6
>>>>>>>>>>
- 1 -
6. Bug_Fixes
This chapter describes bug fixes to 4Sight, IRIX, and
program development tools. A Silicon Graphics software
change request (``SCR'') number appears after many of the
bug fixes in this chapter.
6.1 Bug_Fixes_to_IRIX
o If more than the maximum number of concurrent at(1)
jobs were simultaneously submitted, previous versions
of the software queued the excess jobs, but failed to
start them after the running at(1) jobs completed.
(SCR 5564)
o When cron(1M) was killed and restarted in previous
releases of IRIX, it would forget about any at(1) jobs
that were submitted to the previous incarnation of
cron(1M), but were still in the future. This no longer
happens. (SCR 6865)
o If a process that takes a long time to complete is
started with at(1) and then killed prematurely,
cron(1M) dies. This is fixed. (SCR 6910)
o The line printer spooler model interface scripts
supplied in /usr/spool/lp/model work properly with the
Yellow Pages as of Release 3.2. (SCR 3832)
o In previous releases, the system initialization scripts
would generate an error message every time the system
was booted if the line printer spooler was not
installed. This no longer happens in Release 3.2.
(SCR 4430)
o Manual entries which require preprocessing by eqn(1)
now received that treatment in Release 4D1-3.2, so some
on-line manual entries (e.g. eqnchar(5)) look better
than in previous releases. (SCR 5031)
o Some inconsistencies in the disk statistics reported by
the -d option of sar(1) have been corrected in Release
3.2. (SCR 5465)
o The mount(1M) command now has a -h option that works
analogously to umount -h. Refer to the mount(1M)
manual entry for more information. (SCR 5591)
o Some formatting problems in the signal(2) manual entry
have been corrected. (SCR 5738)
- 2 -
o The mt status command now shows when the tape in the
drive is write protected when that information is
available from the drive. (SCR 5766)
o The ps(1) manual entry now documents the page size in
the description of the SZ and RSS fields output by ps
-l. (SCR 5769)
o The manual entries uname(1) and uname(2) now correctly
describe the format of version and release number
fields. (SCR 5777)
o If any process has a modem-control port (tty[mf]*) open
on a CDSIO 6-port board and if DCD is false on that
port, then no port on the entire board gets any output
interrupts. This is fixed in Release 4D1-3.2. (SCR
5844)
o There is now a manual entry for flock(3B). (SCR 5864)
o In previous releases, the system kernel configuration
program lboot(1M) assumed that all controllers were
numbered within their type starting at zero. That is,
the first controller of a particular type would be
numbered 0, the second would be numbered 1 and so
forth. If the system configuration files specified,
for example, a single controller of a particular type
with controller number 1, then lboot(1M) would create a
kernel that would not work properly. This has been
remedied in Release 3.2. (SCR 5866)
o The man(1) command now allows the user to specify an
alternate paging program through the PAGER environment
variable. (SCR 5883)
o When running four copies of the same graphics program
on a four CPU system in Release 3.1, the scheduler does
not give fair service to the four processes. At any
given time, one of them gets scheduled much less often
than the other three. This has been fixed in Release
3.2. (SCR 5911)
o The select(2) system call can now be used on pipes and
all character devices, in addition to sockets and
streams devices. (SCR 5421)
o The system ID returned by the sysinfo program is 64
bytes long. Many people have requested a shorter ID.
In Release 4D1-3.2 there is a new option to sysinfo(1),
-s, which provides a 32-bit ID number that can be used
to identify a particular machine. This new short ID is
- 3 -
also returned by a new library routine sysid(3C). (SCRs
4593, 5917)
o In previous releases, the file system checker fsck(1M)
required a temporary file when checking a file system
greater than 500 megabytes in size. It prompted the
user for the file name to be used. This caused
problems during software installations, since fsck(1M)
was being executed with standard input and output
redirected to /dev/null. In Release 4D1-3.2, fsck(1M)
no longer requires the use of a temporary file under
any circumstances. (SCR 5921)
o Release 4D1-3.1 PowerSeries and PowerStation machines
(multiprocessors) could get the system panic "out of
action blocks" under certain heavy load conditions.
This no longer occurs in Release 3.2. (SCR 5927)
o The EFS file system code in previous releases does not
correctly handle file systems in which each cylinder
group contains more than 32767 blocks. This has been
fixed. (SCR 5968)
o The hinv(1) command, which lists the hardware present
on a machine, did not correctly report the controller
and unit numbers for SCSI floppy disk drives. This is
fixed. (SCR 5979)
o The hinv(1) command correctly reports the presence of
the CG2 and CG3 Genlock boards in Release 3.2. (SCR
6014)
o The sysmips(2) manual entry has been changed to
document the MIPS_FPSIGINTR call, which allows a
program to get a SIGFPE signal whenever a floating
point exception occurs. (SCR 6016)
o The libraries /usr/lib/libsun.a and /usr/lib/libbsd.a
have been changed in Release 3.2 to require a good deal
less data space. This means that programs linked to
these libraries will have smaller data segments in
Release 3.2. (SCR 6199)
o Some formatting problems in the output of sar(1) have
been corrected in this release. (SCRs 6258, 6273)
o The values of the constants FLT_MAX and FLT_MIN in
/usr/include/limits.h are correct in this release.
(SCR 6268)
- 4 -
o In Release 4D1-3.1, csh(1) filename completion does not
look right on VT100 compatible terminals. When an ESC
is typed to complete a filename, the filename is
completed correctly, but there was an error in the way
the command line got updated on the terminal that
resulted in some characters getting erased. This
problem has been corrected. (SCR 6270)
o The script /dev/MAKEDEV, which is used to create all
the required special files in the /dev directory, has
been modified in Release 3.2 so that it does not
recreate or change the ownership or permissions on any
special files that already exist in /dev when MAKEDEV
is executed. This fixes several problems, among them
the fact that the line printer spooling subsystem would
no longer work after MAKEDEV was executed, since it
reset the ownership on some /dev files required by lp.
(SCR 6306)
o In previous releases, the passwd(1) command would turn
a blank line in /etc/passwd into a line '::0:0:::' the
next time it was invoked after the addition of the
blank line. This creates a user name '' (null) with a
uid of 0 (root) and no password. This behavior has
been corrected in 3.2. Blank lines are preserved and
are treated as comments by all programs that use
getpwent(3) to access the password file. (SCR 6315)
o The wall(1) command in previous releases would
sometimes create normal data files in the /dev
directory. This no longer happens. (SCR 6318)
o Several bugs were fixed in 3.2 that resulted in file
systems remaining busy at system shutdown time. This
would cause the unmount to fail (umount(1M)) which in
turn would cause the system to think that the file
systems in question were dirty and run fsck(1M) on them
on the next boot, even though the system was shut down
in an orderly fashion. (SCR 6393)
o In Release 4D1-3.2, the file /usr/lib/acct/holidays
gives the (United States) holidays for calendar year
1989. (SCR 6395)
o On Release 3.1, an ordinary user could cause
/etc/passwd to become an empty file by setting 'ulimit
0' (using sh(1)) and then using the passwd(1) command
to change his password. This bug is fixed in 3.2.
(SCR 6407)
- 5 -
o The declaration of m_set_procs on the m_fork(3P) manual
page has been corrected to indicate that it returns an
int. (SCR 6411)
o The more(1) command no longer prints an error message
when given a null file. (SCR 6412, 6812)
o In Release 4D1-3.1, the default permissions on the
directory '/' shipped on new systems were 'rwxrwxrwx'
(777). Allowing users other than root to have write
access to '/' is a serious security breach. Starting
with 3.2, the permissions on '/' on new disks are
'rwxr-xr-x' (755). (SCRs 6448, 6604)
o A bug was fixed in the driver for the IKON parallel
printer controller board that could cause parallel
printers not to work properly under some conditions.
(SCR 6510)
o The header file /usr/include/sys/sysmp.h now nests an
include of /usr/include/sys/types.h, since sysmp.h
references caddr_t. Both header files have nesting
protection, so this change will not break any existing
code that includes one or both of these files. (SCR
6517)
o In Release 4D1-3.1, if the mt rewind command is issued
when the SCSI tape is not positioned at a file mark,
the tape will seek forward to the next file mark before
rewinding. In Release 4D1-3.2, the tape will rewind
immediately without any other positioning activity.
(SCRs 6546, 6567)
o A bug that could cause the swap(1M) command to hang the
system when used to delete a swap partition (the -d
option) has been fixed. (SCR 6555)
o A bug in the Release 4D1-3.1 HyperNET driver that could
cause system crashes when transferring large amounts of
data has been fixed. (SCR 6561)
o More detail has been added to the manual page for the
sproc(2) system call (shared address space fork) to
provide better information about how traditional
process issues (delivery of signals, exit of child
processes and so forth) are handled for processes
created by sproc(2). (SCR 6597)
o The man(1) command in Release 4D1-3.1 sometimes shows
the same manual entry several times. For example, the
command "man man" would display the following entries:
- 6 -
man(1), man(5) and then man(5) again. This no longer
happens in Release 3.2. (SCR 6660)
o Kernel crash dumps would sometimes hang indefinitely
when dumping to ESDI drives using 4D1-3.1 software.
This problem has been fixed. (SCR 6672)
o The library routines getpwent(3) and getgrent(3) that
access the passwd(4) and group(4) files now support a
comment syntax: '#' in the first column. Several
potential security breaches having to do with the
handling of very long lines in /etc/passwd were also
fixed. (SCR 6724)
o There is a bug in certain revision levels of the
firmware on Interphase 4201 ESDI disk controllers that
causes the system to print the message "MACSI mode
timeout" and hang. This typically occurs only during
very heavy disk activity, involving lots of small
transfers. If this error occurs on your system,
contact Silicon Graphics to get your disk controller
upgraded with firmware that corrects the problem. (SCR
6739)
o The kernel driver module for the SCSI floppy disk drive
is no longer automatically linked into IRIX kernels.
On systems that have the floppy drive installed, the
system administrator must edit the file
/usr/sysgen/system and then run the lboot(1M) program
to relink the operating system. Find the line in
/usr/sysgen/system that looks like: "*INCLUDE:
smfd".Change that line by simply removing the leading
asterisk (*), which will converts the line from being a
comment to a command that causes the floppy disk driver
module to be included in the kernel. After making this
change, run the command /etc/init.d/autoconfig,
answering 'y' to the question "Automatically
reconfigure the operating system (y or n)?". This is a
shell script that executes lboot(1M). When this
command completes, reboot the system using the
reboot(1M) command. (SCR 6740)
o In previous releases, vi(1) dumps core if the TERM
variable is set to a terminal type that is not present
in the terminfo(4) database. In Release 4D1-3.2, vi(1)
will use terminal type 'dumb' in this situation. (SCRs
5104, 5959, 6765)
o In previous releases, the system could not be booted
into single-user mode if the file /etc/inittab was
missing and the system console had been switched from
- 7 -
the graphics monitor to the diagnostic console. In
3.2, the system can be booted into single-user mode
even if /etc/inittab is missing. (SCR 6781)
o In previous releases, there are cases in which IRIX
erroneously prints the message "DANGER - out of swap
space". This has been fixed in 3.2. (SCR 6784)
o When booting the system into an initstate other than
the default after a system crash, it is no longer
necessary to enter the boot command with the special
initstate twice. In Release 4D1-3.2, the system
doesn't have to shutdown again if it finds the root
file system dirty. It runs fsck(1M) as before, but
fsck remounts the root file system and the boot
continues. (SCR 6786)
o When invoked from within curses(3X), vi(1) did not
always format its text correctly in previous releases.
(SCR 6813)
o The manual entry for usmalloc(3P) was changed to
indicate that the header file malloc.h is required to
access the functions documented in usmalloc(3P). (SCR
6874)
o Some programs that linked with -lmalloc would continue
to grow in virtual size even though all malloced
segments were freed. This no longer happens. (SCR
6870)
o When using ulimit(2) to get the maximum possible break
value for the calling program, previous versions of
IRIX would return a negative number. This has been
fixed. (SCR 6893)
o The list of timezones that the 'syssetup datetime' menu
under sysadm(1) recognizes has been enhanced to include
all the European, Pacific and East Asian timezones. It
previously only included American time zones. (SCR
4032, 6894)
o The uname(1) command now correctly distinguishes
between the IP5 (16MHz 2-processor CPU), the IP7 (25MHz
2-processor CPU) and the IP9 (25MHz single processor
CPU) in the output generated with the -m option. (SCR
7010)
o Ldopen(3) did an uninterruptible sleep. The sleep is
now interruptible. (SCR 6854)
- 8 -
6.2 Bug_Fixes_to_Program_Development_Tools
o The functionality of pixie_mp has been absorbed into
pixie. Use pixie as you normally would. If the
program is a "normal" one, just one Counts file is
produced.
If the program calls sproc, (e.g. a Fortran multi-
processing program, or one that calls m_fork(3P)) then
you automatically get multiple Counts files. (SCR
6771)
o In C, an undefined structure member reference could
generate an error message with some garbage in it.
Now, it generates a message with the correct field
name. (SCR 6383)
o The function rint(3M) was added to libm. (SCR 6370)
o dbx now identifies file types which cannot be debugged.
If you attempt to use dbx to debug a directory, for
example, dbx prints a message that identifies the file
as a directory. (SCR 5311)
o (edge) Problems with windows were fixed. (SCRs 4036,
4694)
o (dbx) Added an optional ``pid <pid>'' clause to many
dbx commands to reduce the need to type the ``active''
command. (SCR 4753)
o (dbx) If one tried to set a breakpoint in shared-
library code, the message ``no executable code found at
line "prog.c":260052304'', for example, would appear.
This problem has been fixed. (SCR 5453)
o (dbx) If $promptonfork is 0, dbx no longer stops when
the process forks. (SCR 6374)
o (dbx) The man page now mentions the px alias. In
addition, the manual page and the help file have much
new information on dbx commands and expressions. (SCR
6881)
o (ar) When a file name longer than 15 characters is
presented to ar(1) it is truncated to 15 characters.
Attempts to replace with the original name will fail.
Now ar(1) mentions the partial match so one can tell
why the match failed. (SCR 6736)
o (uopt) The optimizer was fixed to eliminate a ``no case
matches value in case statement'' message on legal
- 9 -
programs. Some such programs caused uopt to dump core.
(SCRs 4918, 5577)
o A prototype must be in scope at both the calling and
called sites for the prototype argument promotions to
work correctly unless the prototype matches the default
argument promotions. A function definition using
prototype form is its own prototype. Using old-style
function declarations/definitions and prototype
declarations/definitions for the same function will
usually yield an erroneous program. (SCR) 5002
o The following development libraries were moved to the
development image of the distribution:
/usr/lib/libcrypt.a /usr/lib/libdgl.a
/usr/lib/libutil.a (SCR 5781)
o (mkshlib) mkshlib was creating shared library archive
object files with garbage in the cprmask[] fields of
the object header. This made binary comparisons with
earlier releases really difficult. Now the fields are
initialized correctly. (SCR 5919)
o ar(1) was moved to the execute only portion of the
---------- end of Part 2jmb@maddog.sgi.com (Jim Barton) (11/20/89)
-------------------- cut here -------------------
distribution for wider availability to customers. (SCR
5975)
o The ar(1) man page now mentions explicitly which
operand is taken as the archive name. (SCR 6840)
o (cc) In C in earlier releases a return from main()
would always return 0. Now any return value from
main() is correctly returned to the environment. This
matches the proposed ANSI C standard. User programs
which fail to either exit(2) or return a value from
main() will return a useless garbage status to their
environment. (SCR 6031)
o (cc) A bug in ccom prevented typedef's to pointers to
functions with prototypes from working. (SCR 6278) The
test case is:
typedef int (*Fcnptr )(int);
Fcnptr _tkFcnCallEvent_fcn ;
This resulted in errors such as:
ccom: Error: t.c, line 3: redeclaration of
Fcnptr
Fcnptr _tkFcnCallEvent_fcn ;
-------------------------^
ccom: Error: t.c, line 3: syntax error
Fcnptr _tkFcnCallEvent_fcn ;
- 10 -
-------------------------^
o (cc) The bogus message: ``ccom: Warning: idbg.c, line
5100: illegal member use: u_format'' no longer
occasionally appears associated with user source
errors. (SCR 6385)
o (prof) -clock is now documented correctly in the
prof(1) man page. (SCR 6385)
o (unix and m_fork and pixie) Now multi-processing
programs get their own block counts by thread. (SCR
6772)
o (fsplit) fsplit(1) now works with blank lines between
subroutines. (SCR 7025)
o (libc) strtod(3) now has a prototype in <math.h> to
match atof(3). This is non-standard and these will be
moved to <stdlib.h> for a future release. (SCR 7091)
o (f77) The following program did not work correctly due
to the forced misalignment of a and b off of double
boundaries. (SCR 7141)
c change i to anything beside double, bug still
occurs.
c order of common seems significant.
double precision a, b
integer i
common /x/ i, a, b
data i/0/
a = -79.0
b = 79.0
print *, i, a, b
end Code generation has been corrected to handle
this correctly.
6.3 Bug_Fixes_to_Graphics
o Microcode bug with either backface or Tmesh on 4D/20s
is fixed. (SCR 6487)
o Personal IRIS - Self-intersecting polygon fills now
work correctly. (SCR 6943)
o Double buffered depthcued polygons and lines were not
dithered on the Personal IRIS because of inaccuracies
resulting from floating point roundoff. Now depthcued
as well as gouraud shaded polygon and lines are
- 11 -
dithered in both RGB and colorindex modes. The Personal
IRIS with an RE1 chip and 24 bitplanes can not dither
in colorindex mode. (SCR 6496)
o Personal IRIS - The source code was optimized to
improve line performance using bgnline, v,v,.. endline
calls. (SCR 6833)
o Personal IRIS - The line stipple was advanced one pixel
too far at junction of two line segments. The stipple
is correctly backed up one bit. (SCR 6702)
o Personal IRIS - Wide lines and curveit no longer cause
stray lines to be drawn. (SCR 6669)
o Personal IRIS - Picking no longer causes systems to
hang when the last element in the pick buffer is
negative. (SCR 6547)
o When you try to render polygons that have nearly 256
vertices and are non-monotonic in screen space on the
IRIS-4D GT or GTX with graphics from non-GT's, the
window manager sometimes crashes. This has been fixed.
(SCR 6944)
o An error in 4x4 matrix inversion that caused some
invertible matrices to be inverted incorrectly was
corrected. This error may have produced incorrect
lighting in rare instances. (SCR 6836)
o The man pages now document the limit for points per
polygon The current limit is 255 on the 4D/XX machines
for the polf, poly, pmv, pdr, and any other polygon-
related commands. (SCR 3750)
o The gamma(6T) man page now correctly represents the 4D
product. (SCR 4583)
o The winconstraints(3g) man page now states that
winconstraints must be called AFTER winopen(). (SCR
4723)
o Certain GL routines are only available on the GT. Yet
there is no mention of this on the man pages (e.g.
blendfunction(3G)). Hence, the new "GL Reference
Guide" (007-1203-010), which contains the printed
versions of the GL man pages, is therefore really the
"*GT* GL Reference Guide". Non-GT customers could get
really confused. The man pages now mention system-
specific restrictions. (SCR 4954)
- 12 -
o There was no clear explanation of how the lmbind uses
the current matrix on the viewing stack to do the
modeling and viewing transformation of the light. This
is discussed in the Graphics Library Programming Guide.
(SCR 5012)
o The mathematical implementation of lighting has been
explained in the the graphics documentation. (SCR
5013)
o The GF3 card now checks whether the zbuffer board is
installed. (SCR 5099) zbuffer(TRUE); printf("zbuffer:
%d0, getzbuffer); This will return 1 if zbuffer is
installed and 0 if not.
o The curve commands and the lighting commands used the
same matrix stack space causing failures due to
interference. (SCR 5160)
o An exec() of a process that did a ginit caused a kernel
panic. (SCR 5541)
o The gammaramp(3G) man page now mentions the "4D"
implementation of gammaramp. (SCR 6005)
o In 3.1C or earlier, the screenmask was incorrectly set,
and as a result the top scan line could not be written
to. This is fixed in 3.1D. A second related bug was
that sbox was not always setting the right pixels in
conjunction with the screen mask. This is fixed in
3.2. (SCR 6078)
o The gversion man page has been changed to reflect the
actual string returned. (SCR 6139)
o Concave bowtie polygons now fills correctly on 4D/20.
(SCR 6204)
o Fudge() now work correctly with keepaspect(). (SCR
6211)
o The shaderange equation is now correct in the GT
Graphics Library User's Guides (SCR 6223)
o The man page for blendfunction() had the source and
destination reversed. (SCR 6224)
o The Graphics Library Programmer's Guide incorrectly
stated that the blending section applied only to GT
systems that have alpha planes. Blending does work on
GT systems without alpha planes. (SCR 6249)
- 13 -
o The man page for lRGBrange has been included in the
release. (SCR 6304)
o Binding a light in multiple windows went into an
infinite loop. (SCR 6424)
o The 4Sight User's Guide incorrectly stated that ismex()
always returns TRUE(1). It returns TRUE only if 4Sight
is running, otherwise it returns FALSE(0) (SCR 6430)
o The text of the GL Programming Guide was changed to
reflect the correct returned value for blkread(3G).
(SCR 6432)
o Unqdevice did not work correctly. (SCR 6469)
o The GT and GTX implementation of the GL routine
feedback() would crash the pipe if invoked with a
buffer size greater than 32k (shorts). (SCR 6576)
o Patches did not work in mmode(MVIEWING) on the GT. All
forward difference matrix calculations are no longer
done in the graphics hardware. (SCR 6638) The non-GT
library did not have rectread and rectwrite enabled.
(SCR 6791)
o Writemask did not reset properly when switching
manually. Writemask was being reset to 4095 instead of
1 when leaving overdraw. (SCR 6792, 6794)
o The c3s command didn't work on the GTX due to 3 way
transfers from short address boundaries.. (SCR 6819)
o The lsetdepth() man page did not reflect the difference
between the Personal Iris and the Power Series
graphics. (SCR 6842)
o Self-intersecting polygon fills did not work correctly.
(SCR 6943)
o Picking mode now works on the 4D GT. (SCR 6847)
o Short integers weren't sign extended on the GTX product
line. (SCR 6863)
6.4 Bug_Fixes_to_the_Installation_Tools
The manual page has been updated to correctly
document that install(1) claims the '-f' option must be
used in conjunction with '-s', '-o' or
- 14 -
o The help file has been updated and now correctly states
that spacecheck can be defeated with: set spacechk off
(SCR 5849)
o The installation tool properly clears empty products
out of the installation history. (SCR 5871, 6720)
o Non-graphics terminals get a default screen size of 24
lines so the installation screens do not scroll off the
screen. (SCR 5895, 6717)
o Distcp -n now supports writing tape without the
standalone tools. (SCR 5960, 6694)
o Installation documentation have been corrected to
support loading of the miniroot from tape on non-
Personal Iris machines. (SCR 6358)
o The installation tools no longer make the assumption
that all computers are workstations. Therefore,
graphics dependent code is not installed on servers
with exception of IP6 based servers. (SCR 6570)
o GL development headers are no longer inadvertently
being shipped. (SCR 6618)
o Uname and versions no longer report the operating
system revision name differently. (SCR 6665)
o The installation tools no longer incorrectly handle
symbolic links set up by the user before installation.
(SCR 6666)
o distcp now correctly copies distribution data from tape
to disk. (SCR 6692)
o The installation tools no longer have several screens
where text wraps around the end of the line. (SCR 6747)
o The installation tools now forcefully rewind the tape
any time there is a possibility that the tape has not
been rewound. (SCR 6988)
o Network installation fails if the remote login account
on the remote host sends spurious output to the screen
during a login session. The Release Notes document how
to test for this condition and work around it if it
exists. (SCR 7137)
>>>>>>>>>>
3.2 Release notes, Chapter 7
>>>>>>>>>>
- 1 -
7. Known_Problems_and_Ways_to_Work_Around_Them
This chapter describes known problems and ways to work
around them the 4D1-3.2 release.
7.1 IRIX
o The Revision 10 firmware in IRIS-4D Series workstation
and servers does not display memory size when you power
up your system. To see the memory size, enter the
following command at the PROM monitor prompt (>>) and
type: hinv
o The IRIX version of vi was enhanced in this release to
allow the user to control the intercharacter timeout.
This timeout is the length of time that vi waits after
receiving an escape (ESC) for another character
comprising an escape sequence. For example, many
popular types of terminals use escape sequences
consisting of ESC followed by several characters to
represent single keypresses of terminal arrow keys. Vi
needs to be able to distinguish the typing of the ESC
key from an escape sequence generated by pressing an
arrow key.
This is done by waiting for the number of milliseconds
specified by the 'timeout' variable after the ESC
arrives. If no other characters arrive before the
timeout expires, then the ESC is treated as if just the
ESC key was pressed. The default setting of 'timeout'
is 200 milliseconds.
When vi is used in a network environment or through
modems, it may be necessary to increase the timeout
value in order for escape sequences to be recognized.
The timeout variable can be set from within vi or ex,
by issuing a set command. For example: :set
timeout=400 sets the intercharacter timeout to 400
milliseconds. The current value of 'timeout' can be
displayed by :set timeout or :set all A set command for
timeout can also be added of the user's .exrc file.
o Systems equipped with the VME-based ISI QIC-02 quarter
inch cartridge tape controller ) cannot make multi-
volume backup tapes using the tar, bru or cpio
commands; use the hinv command to determine which type
of tape drive you have on your system. This is due to
the inability of the controller to recover data after
it has been sent to the tape drive when the data on the
tape media spans the physical end-of-tape mark.
- 2 -
Multi-volume backup will function on all other SGI-
supplied quarter inch cartridge drives as well as the
VME-based 1/2" tape drives. These include the 60 MB
and 150 MB SCSI tape drives.
See Appendix A, ``Backing Up and Restoring Your
System'' for more information.
o On machines configured as servers, during heavy use,
the following message might appear on the console:
WARNING: mfree map overflow. Lost <count> items at
<addr>. This indicates a data array in the kernel is
too small for the amount of machine usage. The size of
this array can be increased by editing the file:
/usr/sysgen/master.d/kernel, and increasing the
parameter SPTMAP. Increasing this parameter from 50 to
100 should be sufficient. After this modification, it
is necessary to reconfigure the kernel, and reboot.
/etc/init.d/autoconfig prompts for configuring the new
kernel. See lboot(1M) for instructions for
reconfiguring the kernel.
o On machines configured as servers, which make heavy use
of disk storage, it may be possible to increase the
performance of the system by increasing the size of the
IRIX disk buffer cache. This can be done by editing the
file: /usr/sysgen/master.d/kernel, and increasing the
parameter NBUF from 100 to 200 (or more). Whether this
will yield any performance gain is entirely
application-dependent, however, this modification has
proven beneficial for applications which generate large
amounts disk traffic. After the modification, it is
necessary to reconfigure the kernel, and reboot. The
simplest way to reconfigure the kernel is to run
/etc/init.d/autoconfig. See lboot(1M) for instructions
for reconfiguring the kernel.
o On machines configured as servers, the maximum number
of processes allowed to be in execution may prove to be
too small. When the number of active processes is at
the maximum, attempts to create new processes (e.g.,
issuing a command from the shell), will fail. This
maximum number of processes is a configurable
parameter, given by the NPROC parameter in the file
/usr/sysgen/master.d/kernel. As shipped, the NPROC
entry is 80 + (MAXUSERS * 16), which yields 96
processes active at any time. Increasing this number
to perhaps 300, should remedy the problem of running
out of processes. Another way to increase this
parameter is to increase the MAXUSERS definition, found
in the file /usr/sysgen/system. Note that increasing
- 3 -
the MAXUSERS definition has effects on sizes of other
kernel structures. After the modification is made to
the NPROC or MAXUSERS parameters, it is necessary to
reconfigure the kernel, and reboot. See lboot(1M) for
instructions for reconfiguring the kernel.
o If you are using non-standard disk partitions, you will
have to create the device special files that reference
them, since the device special files corresponding to
disk partitions 2, 3, 4, 5, 11, 12, 13, 14, and 15 are
no longer created by MAKEDEV. These device special
files were the ones in the /dev/dsk and /dev/rdsk
directories whose names ended in s2, s3, s4, s5, s11,
s12, s13, s14, and s15. For example,
/dev/dsk/dks0d2s3, /dev/rdsk/ips1d1s5, and
/dev/dsk/xyl0d2s12 used to be created by MAKEDEV, but
are no longer. MAKEDEV is a script in the /dev
directory that creates all the device special files
that are located therein. MAKEDEV was changed in order
to save inodes, since these devices were never used in
standard configurations.
If you need to use them, you must create them manually
using mknod. To create the above example devices, you
would use mknod as follows: # mknod /dev/dsk/dks0d2s3
b 22 67 # mknod /dev/rdsk/ips1d1s5 c 4 85 # mknod
/dev/dsk/xyl0d2s12 b 6 44 Device file names are
represented by XXXCdNPP, where XXX refers to disk type
(dks is SCSI disks, major number 22; ips is ESDI disks,
major number 4; xyl is SMD disks, major number 6), C
refers to controller number, N refers to device address
(also known as disk number), and PP refers to partition
name. For our purposes, the partition number is the
partition name without the leading s, i.e. partition
name s2 references partition number 2. The minor
number can be found using the following equations:
For SCSI: (N * 32) + partition number
For ESDI and SMD: (C * 64) + (N * 16) + partition
number
These devices will have to be recreated whenever
MAKEDEV is executed. Note that MAKEDEV is always
executed when installing IRIX. Refer to mknod(1m),
dks(7), ips(7), and xyl(7) for more information.
o There is a bug in the bstream(1) buffering filter: if
the last input block is less than the current output
blocksize, the block is dropped. In other words, any
fragment of a block at the end of the input file will
not be written to the output. No warning message is
generated to indicate that data has been lost and the
- 4 -
program still exits with normal status in this case.
The manual entry says that such trailing partial blocks
will be padded with zeros to the size of a complete
block and written out, but this is not true of the
software shipped in release 3.2. Note that this is not
a problem when using bstream(1) to process the output
of tar(1) or cpio(1), since these programs never write
partial blocks. When the input to bstream(1) is from a
program that does not do output blocking, however, data
may be silently lost.
o The initialization file for pmake(1) contains some
invalid entries. To fix them, edit
/usr/include/make/system.mk. At the end of the file,
the ``.sh.out'' rule needs to remove its target. The
entry should read:
.sh.out : rm -f $(.TARGET) cp $(.IMPSRC)
$(.TARGET); chmod a+x,u+w $(.TARGET) (The first
character for the rm and cp lines is a tab.) The rules
and command lines for ``.o.a'' and ``.u.b'' should be
deleted.
7.2 Program_Development_Tools
o The C language expression: x >= y + 1 where x and y are
unsigned
(y may be an expression) is incorrectly compiled as x >
y.
The resulting code will work correctly for all values
of y except 0xffffffff. Similarly, x < y+1 is
transformed to x <= y, which is wrong if y is
0xffffffff. In either case, the way to get around this
is to assign y + 1 to a variable and test x against the
variable.
o When compiling a C program the message ``symbol table
full'' might appear. Instructions to increase the size
of the table were inadvertently left off of the
message. The default table size is 5000 symbols. To
increase the symbol table to 12,000 symbols (for
example) add the following option to the cc(1) command:
-Wf,-XNd12000
o The following routine float f(float x) { return((x >
0.5) ? 1.0 : 0.0); } Returns an incorrect value. The
problem is specific to ``float'' arguments and returned
values. Nearly any change to the source (such as
assigning the result of the query operator to a
temporary and returning the temporary) will work around
the problem.
- 5 -
7.3 Networking
o The Visual Administration networking tool currently
works properly if you are using the default
ifconfig(1M) netmask. (If your network topology uses
subnets, the netmask will need to be different.) The
network tool does not handle non-default netmasks and
will disable the ``nets'' view in the tool. You can
access only to the ``hosts'' view.
If you want your system to use a netmask other than the
default value, you need to take the following steps.
1. Add the following line to the file
/etc/config/ifconfig-1.options. If this file does
not exist then you need to create it. netmask
mask Specify mask as a hex number 0x..
2. Reboot your system.
3. To confirm the new netmask, type: ifconfig
interface_name Replace interface_name with:
__________________________________________________________
ec0 4D/20,4D/25 (Personal IRIS & DataStation)
et0 4D/1x0, 4D/2x0 (Power Series)
enp0 4D/50-80
7.4 Diskless_Personal_IRIS
o The 4D/20 and 4D/25 Diskless workstations for a
particular class and their server must be in same sub-
net.
7.5 HyperNET
o Running HyperNET between two workstations on the same
adapter used to cause any IRIS-4D to crash while
transferring large amounts of data.
7.6 Graphics
o The window system now supports the imakebackground()
function, but there are some problems with its use:
1. Killing an imakebackground program is supposed to
cause the window manager to repaint the currently
defined window "root" as set by the "Windows"
menu, "Window Style" submenu, and its "More Roots"
- 6 -
submenu, the default being the familiar sky-blue
"Plain Root". The repaint often does not happen,
leaving the screen background black. The way to
work around this is to select "Redraw All" from
the "Windows" menu. (You may have to select
"Redraw All" two times).
2. Use of imakebackground programs on 4D50G, 4D60G
systems is not recommended because window painting
errors can result when the complexity of the
window layout results in a clip list that is too
large to be supported by the graphics hardware.
This problem does not occur on any Personal IRIS,
GT, or GTX systems.
o If you run any double-buffered RGB mode program (such
as Visualizer or QuickModel) at the same time as any
double-buffered colorindex mode program (such as the
IRIS WorkSpace), the window that doesn't contain the
cursor is displayed with incorrect colors.
o On GT's, programs that do prefsize, winopen,
winconstrains should have a sleep after the winopen to
avoid small verticle lines at the bottom of the window.
If you see these lines, move the window and they will
go way.
7.7 4Sight
When 4Sight receives a request from a remote machine to
create a NeWS window, it tries to convert the machine's
Internet address into a name. 4Sight use the Domain Name
Server (named(1M)) or /etc/hosts to do this. (It does not
use the Yellow Pages.) If there is a problem doing this
conversion, 4Sight might not be able to start up or create
windows.
The file /usr/etc/resolv.conf specifies the Internet
addresses of machines running the name server (see
resolver(4) for details). If the file does not exist, the
named on the local machine is tried before using the
/etc/hosts file. If the resolv.conf file exists but is not
setup properly (e.g., it contains addresses of nonexistent
machines), 4Sight gives up and prints an error message in
/usr/adm/SYSLOG. If all the name servers in resolv.conf
become unreachable after 4Sight starts, 4Sight will not be
able to create windows. Error messages in /usr/adm/SYSLOG
with the format "getsocketpeername: Can't find name for ..."
indicate a name service failure.
- 7 -
The name service failures may be transient; try to create
the window again. If it consistently fails, make sure the
ethernet cable is still plugged in and the name servers
listed in resolv.conf are reachable. Use ping(1M) and
nslookup(1M) to check for reachability. If the name server
is not used, make sure /etc/hosts has entries for
``localhost'' and all the remote hosts that access your
IRIS.
For information on setting up named and resolv.conf, see the
TCP/IP User's Guide and resolver(4).
7.8 X11_Window_System
The performance and functionality of the X11 Window System
product on the 4D/[50,60,70,80]G (non GT or GTX) platforms
is less than that of the other product lines due to hardware
limitations. We suggest upgrading your system to a GT
(Graphics Turbo) if you are going to make extensive use of
the X11 Window System product.
>>>>>>>>>>
3.2 Release notes, Chapter 8
>>>>>>>>>>
- 1 -
8. Documentation_Errors_and_Notes
This chapter contains errors in the documentation,
suggestions for workking around certain problems, and
additional notes for this release. Generally, on-line
documentation, such as the man pages is more up-to-date than
the printed hard copies. This is not true for this
document.
8.1 Documentation_Errors
8.1.1 IRIX
o Section 3.2, ``Booting the Workstation'' of the IRIS-4D
Series Owner's Guide fails to mention fully how to boot
an IRIS-4D from a ASCII terminal attached to port 1
(ttyd1). Booting from an ASCII terminal is necessary
when you don't have a graphics console or you want to
run diagnostics without graphics running on the
graphics console.
To boot your IRIS-4D from an an ASCII terminal, you
must set the PROM Monitor environment variable
``console.'' To set this variable, enter the
following command at the PROM Monitor prompt: setenv
console d
NeWS is not automatically started when you boot from an
ASCII terminal. To run NeWS, enter the following
command once you have logged on: /etc/gl/restartgl
This executes the graphics console daemon, grcond,
which starts up the NeWS server. When you boot from an
ASCII terminal, the console wsh window doesn't appear
on the graphics console screen. This window is
synonymous with the PROM Monitor environment variable
``console,'' which is now set to run on the ASCII
terminal and not the graphics console.
o The hardcopy of the find(1) manual page mentions the
-prune option, which is not implemented in software
release 4D1-3.2. The online version of the find(1)
manual page is correct. See man for information about
viewing the online manual pages.
8.1.2 Program_Development_Tools
8.1.2.1 C_Language_Reference_Manual
- 2 -
8.1.2.1.1 Chapter_6_-_Declarations The following paragraph
updates the description of prototypes in Section 6.4,
"Meaning of Declarators." This new description supersedes
the paragraph beginning, "A parameter-type-list..."
A parameter-type-list declares the types of, and may declare
identifiers for, the formal parameters of a function. When
a function is invoked for which a function prototype is in
scope, each actual parameter is converted to the type of the
corresponding formal parameter specified in the function
prototype. If the list terminates with an elipsis (...),
only the parameters specified in the prototype have their
types checked; additional parameters are converted according
to the default argument promotions (see Section 5.1).
Otherwise, the number of parameters appearing the in
parameter list at the point of call must agree in number
with those in the function prototype. A prototype must be
in scope at both the calling and called sights for the
prototype argument promotions to work correctly unless the
prototype matches the default argument promotions. A
function definition using prototype form is its own
prototype. Using old-style function declaration/definitions
and prototype declarations/definitions for the same function
often yields an erroneous programs.
8.1.2.1.2 Chapter_10_-_Compiler_Control_Lines Section
10.4, ``Conditional Compilation'' incorrectly states that
you should use #elif between a #if directive and #else or
#endif directives if we have more than 2 conditionals. See
cpp(1) for more information.
8.1.2.2 dbx_Reference_Manual There are several features in
dbx newer than presented in the reference manual. The man
page and help file /usr/lib/dbx.help have been extensively
revised to document dbx properly. Both of the on-line
documents are more complete than the reference manual.
Though there is considerable overlap between the man page
and the help file, there is some information in each that is
not in the other.
8.1.2.3 Porting_Applications_to_the_IRIS-4D_Family In
general, statements in Section 1 and 2 about the GT are also
true for the Personal IRIS. See the GL manual pages for
up-to-date information.
8.1.2.3.1 Section_2_-_IRIS_3000_to_4D_Conversion_Tutorial
Section 6.2, ``Cross-hair Cursors'' states that color 3 is
used for the cross-hair cursor. The GT and Personal IRIS use
color 1. See mapcolor(3G).
- 3 -
8.1.2.4 Porting_FORTRAN_Code_to_IRIS-4D_Workstations
8.1.2.4.1 Chapter_3_-_Code_Compatibility Section 3.3,
``I/O Compatibility'' should mention that the IRIS-4D
FORTRAN compiler does not support a BUFFERED specifier to
the OPEN statement. Instead, use setbuf() to set a buffer
and size.
8.2 Installing_the_Dial_and_Button_Box
Some changes have been made that affect the installation of
the Dial and Button box. To install the dial and button box
an additional change must be made to the line that begins
with diald. Step number 3 fails to mention that
/dev/console should be changed to /dev/null just as x is
changed to 234.
Step number 4 should mention when you cycle the power on the
Dial and Button box, the LED's indicate the knob numbers and
the lights illuminate when you press them. In addition, the
box says ``ready'' when you reboot or log in. To restart
the dial daemon, log out then log back in.
8.3 TCP/IP_User's_Guide'
There are errors in Chapter 5 of the TCP/IP User's Guide
Version 2.0, ``BIND Name Server Operations'' is not
mentioned in the Guide's errata sheet. Section 5.9,
``Standard Resource Record Format'', describes 2 address
classes, IN and ANY. The ANY address class is not supported
by BIND version 4.8. The description of the HINFO resource
record in Section 5.9 and the HINFO examples in the sample
file in Section 5.11.7 mistakenly use the address class ANY;
they should use IN instead.
8.4 Graphics_Library_Reference_Manual
The newly printed GL Programmer's Guide does not document
these GL routines:
- 4 -
attachcursor blankscreen
blanktime blendfunction
curson/cursoff deflinestyle
defpattern getcpos
getgdesc getlsrepeat
getlstyle getlwidth
getmonitor getothermonitor
getpattern getplanes
greset gversion
linewidth logicop
lsrepeat pntsmooth
popattributes pushattributes
sbox sboxf
setlinestyle setmonitor
setvideo subpixel
videocmd wmpack
See the GL manual pages for a description of these routines.
8.5 Graphics_Library_Reference_Manual
o zfunction() is implemented on all 4D products. However,
the GL reference manual says that it is only on the
4D-GT machines.
o The blkqread(3G) man page says that the return value of
blkqread is the number of events returned. In fact, it
is the number of shorts returned (twice as big as the
other number would be).
---------- end of Part 3