[comp.sys.sun] Sun-Spots Digest, v5n26

Sun-Spots-Request@RICE.EDU (Vicky Riffle) (07/16/87)

SUN-SPOTS DIGEST         Wednesday, 15 July 1987       Volume 5 : Issue 26

Today's Topics:
                      Re: questions about new 3/280?
     Re: Mounting /usr/spool/mail remotely on a SUN network . . . (1)
     Re: Mounting /usr/spool/mail remotely on a SUN network . . . (2)
                        Sun spooling to DEC LPS40
                       Making X11-beta.1 on a sun3
                            Macsyma on Sun 3?
                            Null modem cable?
                   Sun CommonLisp to SunCore Interface?
           For the rest of you who haven't bought your VAX yet
                         U. of Washing LaTeX/TeX?

------------------------------------------------------------------------

Date: Fri, 10 Jul 87 16:23:04 PDT
From: ihnp4!utzoo!henry@ucbvax.berkeley.edu (Henry Spencer)
Subject: Re: questions about new 3/280?

> ...Xylogics 472 tape controller and a Fujitsu GCR tape drive...
>    ... the highest minor number is 12. How do I get to
>    the 6250 density? ...

mt0 (etc.) is 1600, mt8 (etc.) is 6250.  (We've got the same hardware.)
Isn't it wonderful that Sun documents this so well?

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,decvax,pyramid}!utzoo!henry

------------------------------

Date: 10 Jul 87 21:46:29 EST
From: rayan%ai.toronto.edu@relay.cs.net (Rayan Zachariassen)
Subject: Re: Mounting /usr/spool/mail remotely on a SUN network . . . (1)

# ...  The reason that it's not easy to set up a system where
# /usr/spool/mail is remotely shared among several machines ...
# ... is that root access is not propagated over NFS.  This means
# that when someone ... trys to deliver a mail message on a system which
# has /usr/spool/mail remotely mounted, it fails because sendmail and
# /bin/mail run setuid to root and hence has no special access to any of
# the files in /usr/spool/mail.  It is NOT ... because sendmail has
# locking conflicts over the network; sendmail and the other mailing
# agents ... use a create-error-if-file-exists locking mechanism in
# /usr/spool/mail which works even over NFS ...

... but it doesn't do a lot of good if the mailbox isn't empty when
the delivery is attempted. Is this really a locking mechanism at all?

Anyway, there are two issues if you want to do local delivery of mail
onto a remotely mounted filesystem. One is locking; in SunOS 3.0 when
a couple of us started looking at this problem, locking across the network
was still a gleam in someone's eye within Sun. In SunOS 3.2, lockf()
does that, but waiting for 3.2 was not acceptable (having a separate
mail spool directory for each client is unacceptable in my opinion).
Secondly, how does mail get delivered if root on a NFS client is mapped
to an unprivilidged uid on the server?

The locking problem was reasonably straightforward. We implemented a
lock server that could be contacted over the network to do local locking
of files on behalf of a process on NFS clients. I think this is the
same approach Sun took in 3.2, but since our stuff worked long before
3.2 arrived, we've had no incentive to switch to using lockf().
Then I modified /bin/mail, /usr/ucb/Mail, MH, and GNUemacs's movemail,
to use our locking routines for all files that needed to be locked.
(Yes, you had better have source for this; if you don't, and believe
locking isn't an issue, you can skip this of course).

How does one get some suid root program to deliver mail to a file on an
rmount'ed filesystem? If the mailbox file being delivered to already
exists, the delivery program stat()'s it to get the uid of the file owner.
If the file doesn't exist, the prospective owner's uid is dug out of
/etc/passwd. The delivery program then does a seteuid(owner_uid), and
delivers the mail. There's one little problem left, namely how to create
files in the mail spool directory if the delivery program isn't root
on the server, and the mail spool directory isn't world writable. If
the group write bit for that directory is turned on, the delivery program
will do a setegid(dir_gid) before creating the mailbox file. Delivering
the same message to many mailboxes is not a problem, since the seteuid()
is reversible (ruid == 0), and similarly with the group id. The assumption
being made here, is of course that the client and server share passwd file.

The upshot of all this is that it is possible to deliver mail locally,
to rmounted filesystems, without touching *any* distribution binaries,
if you think locking is a non-issue. If you are concerned about locking,
the way it is done in existing programs is not exactly elegant, nor
effective across a network, and you will need sources to modify the
locking mechanisms used by /bin/mail and /usr/ucb/Mail.

We had reasons for writing a new program to do mail delivery, instead of
using /bin/mail: a) /bin/mail is S L O W because it buffers everything onto
disk and is inefficient about handling multiple recipients, and b) the only
reason for the suid bit being turned on, on /bin/mail, is for doing mail
delivery. Since /bin/mail can be used to create files and such, that bit
was a rather glaring needless general use of uid 0.

Therefore, we wrote a program specifically to do mail delivery (fast, with
locking across the network using the flock server we wrote, optionally
beeping to comsat), and turned off the suid bit on /bin/mail. Then in the
sendmail configuration file just replace the name of this program for
/bin/mail, and all is ready to deliver locally no matter *where* the mail
spool directory is physically located.

If people show interest in getting these programs (local delivery program,
and flock server), maybe we can be convinced to spend time on making it
available.

Regards,

rayan

Rayan Zachariassen
AI group, University of Toronto

------------------------------

Date: Sat, 11 Jul 87 17:59:47 ADT
From: elsie!ncifcrf!randy@seismo.css.gov (Randy Smith)
Subject: Re: Mounting /usr/spool/mail remotely on a SUN network . . . (2)

># the files in /usr/spool/mail.  It is NOT ... because sendmail has
># locking conflicts over the network; sendmail and the other mailing
># agents ... use a create-error-if-file-exists locking mechanism in
># /usr/spool/mail which works even over NFS ...
>
>... but it doesn't do a lot of good if the mailbox isn't empty when
>the delivery is attempted. Is this really a locking mechanism at all?

    Well, I speak from a wealth of inexperience (read: no source)
  here, but what I meant was that the various programs that need to
  interleave access on a file in /usr/spool/mail
  create-error-if-file-exists a file <user>.lock in that directory to
  prevent other programs from writing the file.  While that file
  exists, the original creating program can do whatever it wants to
  the user's mail file without fear of anyone else fiddling with the
  file (they sleep if they see the file) and when it's done it deletes
  the file.  Then the next program creates the same file and goes to
  work.  Yes, I think this is an effective, though kludgy locking
  mechanism.  And based on what I knew when I posted, this mechanism
  will work over NFS.  If someone knows the system better than I do
  and I've made some glaring error in my description, please speak up.

    As it happens, the situation is not quite so rosy (:-}) as I
  described it in my original posting, because the
  Create-error-if-file-exists flag to the creat system call is not an
  atomic operation over NFS (thanks to jbn@glacier.stanford.edu for
  pointing this out to me).  The client actually first checks to make
  sure the file doesn't exist, and then creates it.  This would allow
  one client to conclude it's all right to create the lock file, and
  than another client to conclude it's all right to create the lock
  file, and then both to create it leaving both thinking they could
  modify the file to their heart's content at the same time.  Ooops.
  This window is only a few milliseconds wide, though.  (I know, it's
  still there.  I'm afraid something like the scheme Rayan describes
  (involving modification of the source) is the only way to do it
  right.  But you can do it *almost* right without source mods!)

    Hope this helps.

					-- Randy Smith


  Randy Smith    @	NCI Supercomputer Facility
  c/o PRI, Inc.		
  PO Box B, Bldng. 430  Phone: (301) 698-5660                  
  Frederick, MD 21701  	Uucp: ...!seismo!elsie!ncifcrf!randy

------------------------------

Date: Friday, 10 July 1987 18:34:26 EDT
From: Lawrence.Butcher@g.cs.cmu.edu (Lawrence Butcher)
Subject: Sun spooling to DEC LPS40

I used the SUN Decnet software to snoop the Ethernet packets sent between a
VMS machine and the DEC Printserver 40.  I guessed enough about the protocol
to write a program to spool from the SUN to the printer via LPR.  I did not
discover what happens when there are exceptional conditions in the printer.
The software will not survive changes that DEC makes to the printing protocol.
I do not look inside Postscript files for structuring info.  I wrote this
bare-bones program simply to print my own Postscript documents directly from
the SUN.  I will send this (horrible hack) software to any programmer willing
to improve it to use it.  The program could be converted to run under ULTRIX.

The LPS40 is a complicated and polished product.  It prints at a furious clip.
The printer contains a microvax with lots of memory and no local disk.  DEC
provides VMS software to boot the machine over the Ethernet.  Our LPS40 has
never broken, but I assume that DEC field service would want to download
diagnostics from a VMS machine.  DEC's VMS spooling software gets interesting
messages about printer status back from the LPS40.  Without detailed
documentation of the printing protocol it would be impossible to duplicate
the quality of DEC's supporting software.  Our printer is booted and managed
from a VMS microvax.

				Lawrence.Butcher@g.cs.cmu.edu

------------------------------

Date: Sat Jul 11 09:36:11 1987
From: ihnp4!hou2d!avr@ucbvax.berkeley.edu (Adam V. Reed)
Subject: Making X11-beta.1 on a sun3

I have managed to modify the X11-beta.1 Makefiles to get make to
complete on a sun 3/50.  Here is a summary of what's needed to
make X11-beta.1 on a sun3 set up for system V compatibility:

1. Make sure that :/usr/ucb:/bin:/usr/bin are ahead of /usr/5bin in
	your $PATH - the Makefiles depend on the ucb stuff.

2. In the top-level makefile, change server to =Xsun

3. Run link-setup.

4. Make sure thet there is enough space in all the directories used
	by the Makefiles. For example, if there is not enough space
	in the / filesystem, which includes /tmp, make /tmp a
	symbolic link to a tmp subdirectory in a roomier one.

5. In the server/os/4.2bsd/Makefile, and also in the Xlib, toolkit,
	and clients/xterm Makefiles, remove dependencies on

	/usr/include/machine/machparam.h

	since it does not exist on a typical sun3.
	The information is in

	/usr/include/sys/param.h

6. As distributed, the ./server/ddx/mfb/Makefile uses $* outside the
	documented context of substitution macros. Some versions of
	make may accept this, but the /bin/make on out SUN 3/50
	silently ignores it. The result is

	ar: mfbpgbwht.o cannot open
	ar: mfbpgbblak.o cannot open
	ar: mfbpgbinv.o cannot open
	ar: mfbigbwht.o cannot open
	ar: mfbigbblak.o cannot open
	ar: mfbpawhite.o cannot open
	ar: mfbpablack.o cannot open
	ar: mfbpainv.o cannot open

	I edited the Makefile manually to correct this.

7. Since /usr/include/mit-copyright.h is not supplied, remove the
	dependency of XGetDflt.o on this file from Xlib/Makefile,
	and then

	mkdir include/X
	cd include
	ln copyright.h .

	Similarly with references to /usr/include/X/mit-copyright.h
	in clients/xpr/Makefile, clients/xwud/Makeffile,
	and clients/xwd/Makefile.  Remove dependency and

	ln -s include/X X

	in the base X11-beta.1 directory.

Have fun,
	Adam Reed (hou2d!avr)

------------------------------

Date: 10 Jul 87 22:47:05 GMT
From: km@emory.UUCP (Ken Mandelberg)
Subject: Macsyma on Sun 3?

We just got a copy of Symbolic's Macsysyma 309.6 for the
Sun 3. I was disappointed to find that on a 4 Megabyte
Sun 3 it performs quite poorly relative to a Vax 780. Its
cpu time is better than a Vax, but the run time is a good
deal worse. If you watch it with vmstat, it obviously pages
much more than on a Vax with the same amount of memory.

I was surprised to notice that Macsyma does not seem to do a
vadvise on the Sun, like it does on the Vax, and my guess
is that this is the problem. Symbolics sent us object code
only so I can see no easy way to turn it on.

We are running Sun OS 3.3, and I have verified that vadvise 
does in fact work on the OS. For some reason Macsyma/Franz
must just not do one.

Has anyone else noticed this problem?
-- 
Ken Mandelberg      |  gatech!emory!km               USENET
Emory University    |  km@emory                      CSNET,BITNET
Dept of Math and CS |  km.emory@csnet-relay          ARPANET 
Atlanta, Ga 30322   |  Phone: (404) 727-7963

------------------------------

Date: Mon, 13 Jul 87 22:05 EDT
From: Hartmuller@dockmaster.arpa (Roger Hartmuller)
Subject:  Null modem cable?

We have a brand new SUN 3/180S, with the 16-port ALM.  We are trying to
connect a variety of PC's and compatibles to the SUN using these
asynchronous channels, building our own null-modem cables.

First, we constructed a cable with 25-pin connectors at each end,
crossing pins 2&3 and 4&5, and connecting 7&7.  This worked fine,
allowing any pc with a 25-pin serial port to talk to the SUN at 9600
baud, using kermit, I should add.

Second, we had a vanilla IBM PC/XT with a 9-pin serial port borrowed
from an AT clone.  We plugged a 9-pin prefabricated modem cable in the
9-pin connector on the XT, and plugged the other end into a cable built
as above.  This combination worked fine also.

As a third step, we wanted to connect 3 or 4 Kaypro PC/XT equivalents to
the ALM.  These machines use a 9-pin serial port also.  Rather than try
the 2 cable approach used above, we constructed a 25-pin to 9-pin cable
as follows:

    ALM(25)      Kaypro(9)
    2 TXD        2 RXD
    3 RXD        3 TXD
    4 RTS        8 CTS
    5 CTS        7 RTS
    7 GND        5 GND

Using this cable, we could not get any Kaypro to establish a connection
to the SUN.  As one last test, I unhooked the modem cable from the PC/XT
and plugged that into the Kaypro, and that would not connect either,
even though it works fine in the XT.  I also discovered that plugging
the 25 to 9 pin cable directly into the PC/XT wouldn't allow a
connection either.

Does anyone know how to make a null modem cable to connect a 9-pin
serial connector to an ALM on a SUN?

Roger Hartmuller

ARPA:  Hartmuller@Dockmaster
       hartm@louie.udel.edu
       Bell:  301-854-6889

------------------------------

Date:  Mon, 13 Jul 87 10:22 EST
From: AIDEL%ecs.umass.edu@relay.cs.net (Eugene C. Libardi, Jr.)
Subject:  Sun CommonLisp to SunCore Interface?

	I am trying to run SunCore from Sun CommonLISP (Lucid). Has anyone
done this? Ideally, I would also like to include either the Sunview window
interface (provided by Sun) or Lucid's Window Toolkit. Will this be a problem?
	Any info (people to contact, public domain code!) will be greatly
appreciated. Please respond directly to me and I will post the results if it
is warranted.

Thanks in advance,

Eugene C. Libardi, Jr.
Mechanical Design Automation Lab
Dept. of Mech. Eng.
University of Massachusetts
Amherst MA 01003
(413) 545-3599
aidel@umass-ece.csnet

------------------------------

Date:  Tue, 14 Jul 87 04:43 EDT
From: ROODE@bionet-20.arpa (David Roode)
Subject:  For the rest of you who haven't bought your VAX yet

          SUN INTRODUCES 10-MIPS SUPERCOMPUTING WORKSTATION

NEW YORK, NY -- July 8, 1987 -- Sun Microsystems, Inc., introduced
today the Sun-4 family of 10-MIPS supercomputing workstations and
servers that give users the performance of a VAX 8800 system at
one-tenth the price.

"We expect this product family to redefine workstation computing and
create a new price/performance point in the industry," said Bernard
Lacroute, Sun's executive vice president.  "Sun built its reputation
delivering workstations with industry-leading performance at unmatched
price/performance levels.  The Sun-4/200 Series continues that
tradition."

"This is not a hardware-only announcement," said Sun President Scott
McNealy. "Sun has accomplished something rarely seen in the computing
industry by delivering the first supercomputing workstation with a full
complement of system and applications software available today."

Several original equipment manufacturers, including Valid Logic and LSI
Logic, have ported software applications to the new Sun platform, and
over 90 third-party software developers have either ported their
product or demonstrated intent to port to the new system.

The Sun-4/200 Series is ideally suited for all compute-intensive,
floating-point or graphics-intensive applications.  The primary markets
targeted are high-end mechanical-CAD (MCAD) applications, such as
solids modeling and finite element analysis, electrical-CAD (ECAD)
applications including IC and PC layout and routing; artificial
intelligence (AI) development, earth resources, and molecular
modelling.

The Sun-4 family is source-code compatible with the Sun-3 and
Sun-2 families of 680X0 microprocessor-based products, allowing all
three product-families to use the same software and be combined in
network installations.  Sun is also supplying software tools to ease the
porting process, allowing migration to the newer, high-performance
family of workstations at the user's discretion.

Key to the supercomputing workstation series is its new scalable
architecture based on RISC (Reduced Instruction Set Computer)
technology.  Called SPARC for Scalable Processor ARChitecture, it
is readily scalable to deliver dramatic performance increases in the
future.

Sun also announced a new server series based on the SPARC technology
that offers the highest performance of any UNIX-based system on the
market at dramatically lower costs than conventional
superminicomputers.  Used as fileservers, compute servers,
communication gateways or as cost-effective timesharing systems, these
servers are ideal for building highly optimized networks.

A Sun-4/260 high-resolution, monochrome deskside workstation with 8
Mbytes of main memory is priced at $39,900.  A Sun-4/260 color deskside
workstation with 32 Mbytes of main memory, a 560-Mbyte disk subsystem
and a 60-Mbyte 1/4-inch cartridge tape system is $85,500.  Sample
server configurations range from $36,900 for the Sun-4/260S pedestal
model with 8 megabytes of main memory to $104,900 for a Sun-4/280S
server with 32 megabytes of main memory and 1.2 gigabytes of disk and
tape storage.  The Sun-4 systems are available 60 to 90 days after
receipt of order depending on configuration.

Upgrades for Sun-3/260 and Sun-3/160 workstations to the 10-MIPS Sun-4
performance are also available.  The upgrades are priced at $13,900 for
the Sun-3/260 and at $23,900 for the Sun-3/160.

Sun to License RISC Architecture

Sun also announced that it will license the new SPARC architecture,
operating system and related development tools and compilers to
semiconductor and systems manufacturers.  This is the first time a
major computer systems manufacturer is making its own advanced CPU
architecture available to the open market.  The licensees will in turn
supply chips, boards, and/or complete SPARC-based systems to the open
market.  SPARC licensees announced today are Fujitsu Microelectronics,
Cypress Semiconductor, and Bipolar Integrated Technology.

Sun Reduces Base Price of Current 4-MIPS Systems

In conjunction with today's announcement of the 10-MIPS Sun-4 family,
Sun Microsystems has reduced the base price of its high-end Sun-3/200
Series of 4-MIPS systems by 15-19 percent.  With this price reduction,
Sun now offers a fully expandable, high-end workstation at a mid-range
price.

New Software Targets AI Development

Sun also introduced the Symbolic Programming Environment (SPE), a set
of sophisticated software tools for the development of artificial
intelligence applications on Sun's general-purpose workstations.  The
new tools, which improve productivity and ease program development in
the Lisp programming language, offer the first true symbolic
programming environment for general-purpose workstations.  The Symbolic
Programming Environment lists for $3,500 and will be available in the
first quarter of 1988 for the Sun-4 and Sun-3 families of
workstations.

Sun Microsystems, Inc., of Mountain View, California, is the leading
supplier of distributed computing systems based on industry standards.

------------------------------

Date: Sun, 12 Jul 87 11:04:19 EDT
From: fishwick%beach.cis.ufl.edu@relay.cs.net (Paul Fishwick)
Subject: U. of Washing LaTeX/TeX?

We are having some problems installing U. of Washington's LaTeX/TeX
package for the SUN 3's. Making the binaries was not a problem; however,
we are getting "cannot find XXXX font" or "checksum error" when running
iptex (the Imagen .DVI -> IMPRESS program). Apparently many of the
necessary fonts are not in the primary font directory (/usr/lib/font/tex..
or whatever it is..). We have tried to make and then use utilities such
as "gftopxl" and "pktopx" to create the required .pxl files but some
files do not seem to be there: for instance, one iptex error is:

   can't find font   cmti10.2160pxl

One would presume that there would be a file such as cmti10.432gf 
(5 x 432 = 2160) somewhere, but there isn't.

Has anyone got U.W. LaTeX to work ok on their SUN's? If so, do you have
any scripts or suggestions to aid in getting the right magnifications
(do we have to unpack everything?). Many thanks.

Please send mail to both:   fishwick@ufl.edu     AND   ajw@ufl.edu
if you have any thoughts...

------------------------------

End of SUN-Spots Digest
***********************