Sun-Spots-Request@RICE.EDU (William LeFebvre) (08/30/88)
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@rice.edu Send subscription add/delete requests to: sun-spots-request@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@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@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@sun.com (Pravin Kumar) Subject: Re: troff to postscript >From: suneast!rahthum!ppk@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@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@sun.com Silvar-Lisco, Inc. Nameservers: mdb@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@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@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@rice.edu) ------------------------------ Date: Fri, 26 Aug 88 07:34:36 CDT From: texsun!utacfd_9!rwn@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@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@dg-rtp.dg.com) ------------------------------ Date: 25 Aug 88 20:02:02 GMT From: deke@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@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@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@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@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@D" and "B!A!ua@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@umn-cs.cs.umn.edu CSNET: choudhur%umn-cs@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@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@vlsi.princeton.edu mjcharne@phoenix.princeton.edu H: 609-497-0221 O: 609-243-7605 ------------------------------ End of SUN-Spots Digest ***********************