Sun-Spots Digest, v6n206

William LeFebvre Sun-Spots-Request at RICE.EDU
Tue Aug 30 12:40:02 AEST 1988


SUN-SPOTS DIGEST          Monday, 29 August 1988      Volume 6 : Issue 206

Today's Topics:
          Re: interactively creating and editing SunView panels
                         Re: troff to postscript
             Re: sun 3/60 "text: table is full" error message
              Russell compiler, source code for exact reals
            Trapping floating point exceptions under SunOS 4.0
             Ethernet "balancing" when serving many clients?
                          tar: filename too long
                 mail between uucp-smtp-uucp users; how ?
                       Bar and Pie Graph software?

Send contributions to:  sun-spots at rice.edu
Send subscription add/delete requests to:  sun-spots-request at rice.edu
Bitnet readers can subscribe directly with the CMS command:
    TELL LISTSERV AT RICE SUBSCRIBE SUNSPOTS My Full Name
Recent backissues are available via anonymous FTP from "titan.rice.edu".
For volume X, issue Y, "get sun-spots/vXnY".  They are also accessible
through the archive server:  mail the request "send sun-spots vXnY" to
"archive-server at rice.edu" or mail the word "help" to the same address
for more information.

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

Date:    Fri, 26 Aug 88 09:16:16 +0200
From:    Jeremy Cook <enea!mars.cmi.no!jeremy at uunet.uu.net>
Subject: Re: interactively creating and editing SunView panels
Reference: v6n137

This is a little bit belated as we seem to have been unable to contact
rice, hope it still proves useful:

> Does anyone have a program for interactively creating and editing SunView
> panels?   I spend an enormous amount ...
> ... The final output would be a file with the C code for
> generating the panel.  Any ideas?

No, BUT I have developed a system which I call 'win-pak' for generating
SunView programs from a short description file. The description file
consists of lines like:

begin_frame
  begin_window 0 0
    window_size 512 512
     ...
  end_window
  begin_window 517 0
    window_size 256 512
     ... 
  end_window
end_frame

where ... are some other win-pak statements defining graphics routines or
panel items. The description file is then used to build a C source program
which (so far!) always compiles without errors. This C source along with
the users own graphics and processing stuff is then linked with a library
of win-pak utility routines and hey presto! in a matter of a few minutes
the user has a fancy interactive interface.

The system was originally developed for designing interfaces for large
scale numerical applications running on an Intel Hypercube but can be used
for standalone applications. We are still testing 'in house' before daring
to release it to you lot out there but within the next month or so I hope
to have a releaseable version with documentation. An 'X' version is in the
pipe line but may be some time before it is completed. I also have
intentions to write an interactive editor for positioning windows, panels
and items which would then write out the definition file but that is still
a way off yet.

-- Jeremy Cook

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

Date:    Fri, 26 Aug 88 10:46:02 EDT
From:    suneast!rahthum!ppk at sun.com (Pravin Kumar)
Subject: Re: troff to postscript

>From:    suneast!rahthum!ppk at sun.com (Pravin Kumar)
>
>Under SunOS 4.0, you can do "troff -t | lpr -t" to do troff to PostScript.
>Read the SunOS 4.0 Change Notes (page 29, Section 2.7 Utilities) for more
>information.
>
>[[ Although the Change Notes really do say something to that effect, I
>strongly suspect that you still need to have the "Transcript" software
>installed in order for it to work....But, I have occasionally been
>wrong.  --wnl ]]

My Roadrunner doesn't have Transcript installed, and I just sent a troff
file to a LaserWriter this way.  It works.

pk

[[ Was the Laserwriter attached directly to the Roadrunner, or was it
attached to another machine on the same LAN that *does* have Transcript
installed?  --wnl ]]

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

Date:    Fri, 26 Aug 88 09:00:38 PDT
From:    Mark D. Baushke <mdb at silvlis.com>
Subject: Re: sun 3/60 "text: table is full" error message

>  From: uunet.uu.net!wor-mein!jim  (Jim Chekerylla)
>  
>  I am running X11V2 on a monochrome Sun 3/60 with a local disk and 4 MB of 
>  RAM. It is also a file server for one other Sun 3/60 diskless node.
>  Others are rloging into my machine from some uVAXen.
>  
>  When I run too many demo programs, I get the error message "text: table is
>  full" in my xterm console window and other people's processes (eg. compiles)
>  get killed....

The short answer is that you need to configure your kernel to have more
text segments. The easiest "quick fix" would be to bump your MAXUSERS to
12. 

Another possibility would be to modify /sys/conf/param.c something
like this:

*** /sys/conf/param.c-dist      Mon Jul  7 21:28:32 1986 
--- /sys/conf/param.c   Thu Aug 25 16:23:06 1988 
*************** 
*** 50,54 **** 
  int   nproc = NPROC; 
  int   maxuprc = MAXUPRC; 
! int   ntext = 24 + MAXUSERS; 
  int   ninode = (NPROC + 16 + MAXUSERS) + 64; 
  int   ncsize = (NPROC + 16 + MAXUSERS) + 64; 
--- 50,54 ---- 
  int   nproc = NPROC; 
  int   maxuprc = MAXUPRC; 
! int   ntext = 36 + MAXUSERS; 
  int   ninode = (NPROC + 16 + MAXUSERS) + 64; 
  int   ncsize = (NPROC + 16 + MAXUSERS) + 64; 

A combination of both increasing MAXUSERS and changing param.c is also a
possible solution.

At our site, Sun 3/60s with only 4MB are configured with MAXUSERS 12 based
on the STDT60 kernel and no changes to param.c. Note: Do not use the
GENERIC kernel if you can avoid it. Start with STDT60 as a base if
possible.

This question has been covered in depth recently in the Sun-Spots Digest
mailing list.  You might consider reading up on this topic by getting
copies of recent issues of the Digest from the sun-spots archives. I seem
to recall that v6n101 and v6n111 discussed this problem, but you might
want to get an index of v6 and get all appropriate issues.

[[ Or just hope that the friendly and helpful moderator looks it up for
you.  If he really wanted to, he could tell you that the appropriate
issues are v6n101, v6n111 and v6n122.  --wnl ]]

Enjoy!

Mark D. Baushke                 Internet:    mdb%silvlis.com at sun.com
Silvar-Lisco, Inc.              Nameservers: mdb at silvlis.com
1080 Marsh Road                 Usenet:      {pyramid,sun}!silvlis!mdb
Menlo Park, CA 94025-1053       Telephone:   +1 415 853-6411 / +1 415 969-8328

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

Date:    Fri, 26 Aug 88 15:13:24 CDT
From:    Hans Boehm <boehm at rice.edu>
Subject: Russell compiler, source code for exact reals

I am posting version 2.1 of the Russell compiler.  The posted version
contains both a Vax code generator and a Sun 3 code generator.  (The
quality of Sun 3 code is much better than that generated for the Vax.)  A
compressed tar file is available for public ftp as
titan.rice.edu:~ftp/public/russell.tar.Z.  Be sure to remember to transfer
it in binary mode.  The file is about 900 Kbytes.  There is no chance
whatsoever that you will be able to retrieve it via the archive server.
(You should consider yourself lucky if ftp works correctly.  Your chances
are probably better at night.)  We are willing to mail a tape version for
distribution cost ($50 inside the U.S. and $60 outside).  Please send mail
to boehm at rice.edu if you successfully obtain a copy via ftp,
unsuccessfully attempt to get a copy in this way, or would like to inquire
about getting a tape.  I would like to maintain a list of sites using the
compiler.

The usual disclaimers apply.  Any use of this software is at your own
risk.  We do not guarantee anything or agree to maintain anything.  (Bug
reports are of course appreciated.)

Unlike previous versions, this is a source distribution.  It includes
source for the compiler and run-time system, an on-line manual, and some
sample programs.  The latter include source for the previously posted
exact arithmetic calculator, as well as a Fortran/C interface for the
underlying arithmetic package.  (Much of this runs only on a Sun, though
the constructive reals package itself runs also runs on a Vax.)

The language incorporates a polymorphic type system more general than that
of ML (though with less automatic inference of types).  An introduction is
given by Donahue and Demers, ``Data Types are Values'', TOPLAS, July 1985.
Primitive types include unbounded integers and (a fast implementation of)
streams, as well as standard types and type constructors one would find in
Pascal or Lisp.  The language has been extended to support a type version
of Scheme's ``call-with-current-continuation''.

Some characteristics of the Sun implementation are:

1. Code quality that is usually competitive with standard compilers for
   Pascal- or C-like programs.

2. Easy access to system calls and code written in other 
   languages.  (This is possible largely because we use the
   conservative garbage collector that was posted earlier.)
   It is possible to generate C callable packages from Russell
   code.  Space rquirements are normally larger than for C
   programs, but not outrageous.  It is possible to write
   Russell programs that run in 200K, heap included.  (This is
   considerably smaller than that required by many other systems 
   that provide automatic storage management.)

3. Efficient support for higher-order (e.g. function returning)
   functions.

4. An efficient implementation of large integers (about 5 secs
   on a Sun 3/260 to compute 5000! plus about 10 secs to convert
   the result to decimal).

5. Some type inference.  (Needs improvement, but it's usable.)

6. Minimal debugging support.  (We try not to confuse adb.  Dbx
   doesn't work with Russell, and probably never will.  We haven't
   gotten around to building our own.)

7. Type checking (and some optimization) across separately compiled 
   units.  (See ``Implementing Russell'' in the SIGPLAN '86 
   proceedings for some details.) 

Hans-J. Boehm
(boehm at rice.edu)

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

Date:    Fri, 26 Aug 88 07:34:36 CDT
From:    texsun!utacfd_9!rwn at sun.com (Ralph Noack)
Subject: Trapping floating point exceptions under SunOS 4.0

WARNING to all folks expecting to trap floating point exceptions!!!

Sun has changed things significantly with SunOS 4.0!!

Hopefully everyone is aware that floating point exceptions (such as 1/0 or
sqrt(-1)) by default generate an IEEE specified result and execution
continues. This takes scads of system cpu. The codes we run are in the
weeds if this happens so we want a trap to be generated.

SunOS 3.1 very poorly documented the use of fpmode() to turn on the
trapping. I believe 3.2 had slightly better documentation.

With 4.0 the method for activating the trapping has changed.  The Sun
fortran programer's guide provides little except the man pages for
f77_floatingpoint and f77_ieee_environment. The floating point
programmer's guide addendum for SunOS 4.0 states:

"To conveniently exploit IEEE trapping, use ieee_handler() rather than
fpmode(), signal(3) or sigvec(2)."

But the floating point programmer's guide talks only about using fpmode().

There are two important facts omited from the documentation:

  1. You can still call fpmode(). It just does nothing!!!! So you think
     you have turned on the trapping and it's not.

  2. If you turn on the trapping with ieee_handler() you must link -Bstatic
     to get a useful traceback. If you use the default dynamic linking
     the traceback points to line 65535 in libg.s or some such nonsense.

For reference we turned on the trapping under 3.x fortran with the following

      ibz=0
      iov=1
      iop=1
      new = (iop*32+iov*16+ibz*4)*2**8
      iold=fpmode(new)

where ibz,iov,iop turns off/on the bit for divide by zero, overflow, and
invalid(NaN) respectively.

For fortran 1.1 under 4.0 link -Bstatic and use the following.

      external abort
      ieeer= ieee_handler('set','common',abort)

A similiar procedure works with cc.

-- Ralph Noack (...!texsun!utacfd!rwn)

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

Date:    Fri, 26 Aug 88 10:46:34 EDT
From:    biggers at dg-rtp.dg.com (Mark Biggers)
Subject: Ethernet "balancing" when serving many clients?

We have a Sun 3/260 to use as a server and a lot of diskless 3/50s.  I
want to know if it is possible and worthwhile to divide the 3/50s over two
subnets to minimize Ethernet traffic.  The server will also have to remain
on our main house net so it would have a total of 3 Ethernet cards.  The
configuration would be:

                main Ethernet
                     |
                     |
                   3/260
                  /     \
                 /       \
            subnet 1    subnet 2


Some rationale and questions:

We have observed that the 3/260 is not CPU or memory bound serving our
present 3/50s (12) on one subnet, and does not look like it will be
disk-bound if we use multiple disk controllers, with the clients
distributed across the controllers.  We want to serve up to 18 3/50s (all
diskless).  It looks like the Ethernet is starting to run out of steam, so
we are pretty sure 18 will kill it - thus the 2 subnet idea.

Is it possible to put 3 Ethernets on a 3/260?  Has anyone tried this and
had any success?  Does anyone have any other ideas about how to cram 18
diskless 3/50s onto one server?

	Thanks,
	Mark Biggers
	(biggers at dg-rtp.dg.com)

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

Date:    25 Aug 88 20:02:02 GMT
From:    deke at ee.rochester.edu
Subject: tar: filename too long

The tar that is distributed with SunOS 3.4 has an annoying "feature" ...
it apparently has a 100 character filename buffer.  Why is this?  I now
have one of these great new high volume backup devices that can put up to
2Gbytes onto an 8mm tape.  While I could use any of various utilities to
write backups to tape, tar seemed to be a good choice.  I wouldn't need to
fool with multiple dumps on a single tape (one for each filesystem), but
could just backup using tar from the root and have it all captured on one
tape (this from a guy who has been yelling at people for years for making
tar tapes with absolute paths :-)

Anyway, when the pathnames get longer than 100 characters, tar complains.
Is this to be expected of tar on a true BSD4.2?  4.3?  Did Sun rewrite
tar?  I know there are some options (like capital X) that I hadn't seen
before using Suns.  Should I get a pd tar as has been discussed here?  ...
I just checked on my VAX 750 running Mt Xinu.  Fails at 100 character
filenames too.  Would it have been that "expensive" to use a 1024
character buffer?

Please don't start a cpio vs. tar war.  I am specifically asking a ques-
tion about tar.  I know about other utilities like cpio and dd. I want to
know about tar in particular in this case.  Thanks in advance.

^Deke

 -Domain:  deke at ee.rochester.edu             University of Rochester
 -UUCP  :  ...!rochester!ur-valhalla!deke    Department of Elec Engg
 -Phone :  (716) 725-3106		     Rochester, NY 14627

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

Date:    25 Aug 88 03:45:43 GMT
From:    choudhur at umn-cs.cs.umn.edu (Tahsin Choudhuri)
Subject: mail between uucp-smtp-uucp users; how ?

Assume following are the links between hosts (A thru E):

A.host -- uucp -- B.host -- uucp -- C.host -- SMTP -- D.host -- uucp -- E.host

Note:  All uucps except, SMTP *only* between C and D (both Suns).
       C and D are using default sendmail.cf (subsidiary) that comes with Suns.

>> What would be the address format to send a mail:
   from  A (say user ua) to E (to user ue) and vise versa ? 
   (i.e. % mail B!C!?? or from other way % mail D!?? )

[[ "B!C!E!ue at D", maybe.  The idea is that C won't recognize E as a uucp
host, but will recognize D as an SMTP host.  Thus it will transfer the
message to D with address "E!ue".  Another thing to try would be:
'B!C!"E!ue"@D' (note that there are " characters in the string).
Vice versa might be "D!B!A!ua at C".  --wnl ]]

>> What would be the address format to send a mail:
   from  A (say user ua) to D (to user ud) and vise versa ? 
   (i.e. % mail B!C!?? or from other way % mail ?? )

[[ That *should* be "B!C!ud at D" and "B!A!ua at C".  --wnl ]]

>> Do I need to change the sendmail.cf of C and D ? If yes what ?

Appreciate your help, thanks in advance. Please e-mail directly.

Tahsin Choudhuri, Computer Science Dept. University of Minnesota, Mpls, MN 55455

ARPA: choudhur at umn-cs.cs.umn.edu	CSNET: choudhur%umn-cs at relay.cs.net
UUCP: ..!{ihnp4,rutgers,sun}!umn-cs!choudhur or ..!uunet!rosevax!umn-cs!choudhur

[[ But then, I'm just guessing.  --wnl ]]

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

Date:    26 Aug 88 15:45:25 GMT
From:    mjcharne at phoenix.princeton.edu (Mark Jay Charney)
Subject: Bar and Pie Graph software?

I'm looking for a public domain data analysis package that can do bar
charts and pie graphs, etc. Those with 3D effects would be even more
welcomed.

It is a shame to have these big ole' computers and not have such an
ability.

	Mark Charney
	mjcharne at vlsi.princeton.edu
	mjcharne at phoenix.princeton.edu
	H: 609-497-0221
	O: 609-243-7605

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

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



More information about the Comp.sys.sun mailing list