mludwig@lehi3b15.UUCP (Mitchell Ludwig ) (12/10/88)
Ok, here we go... I am attempting to make 18.52 (gnu) work on my Microport 386. The machine is running Microport UN*X ver 3. Internally I've got 2 meg of usable memory. When I compile the darn thing, everything goes just grand until the makefile tries to execute ld temacs (and a whole lot of .o files...). Partway through the execution of this command I get an error concerning the system's inability to add the symbol Lisp_Subr to the symbol table and then I get gonged. I'm using the m-intel386.h and the s-usg-5-3.h in my config.h. My question is, HELP! How come? I have a friend using the freakin thing in SCO's Xenix (if this is a plug for XENIX, sorry :-) and he had none of the problems I'm having. In fact, it was the ease with which he compiled the thing which led me to give it a shot. So, does anyone 1) Have any idea why it gongs me here and with that error? 2) Have Gnu running on Microport? and 3) know of either an m or s file for my config which is more compatable with Microport. Also, if I'm gonna need to re-map my keyboard, has anyone done it yet? Any help is appreciated... You can reply to me here or directly to : UUCP : ...!lehi3b15!rastro!mfl or ...!lehi3b15!mludwig or for you internet and bitnet dudes Internet : KMFLUDW@vax1.cc.lehigh.edu Bitnet : MFL1@lehigh.bitnet Mitch
james@bigtex.cactus.org (James Van Artsdalen) (12/11/88)
In <429@lehi3b15.UUCP>, mludwig@lehi3b15.UUCP (Mitchell Ludwig ) wrote:
> So, does anyone [...] Have Gnu running on Microport?
GNU emacs 18.52 works fine under uPort unix, at least my 2.2 version.
I'll send Mitchell (and anyone else) my config.h, .emacs, and a
program I wrote to re-map the AT keyboard to something more useful for
emacs and ksh.
--
James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die"
Home: 512-346-2444 Work: 338-8789 9505 Arboretum Blvd Austin TX 78759
brian@cbw1.UUCP (Brian Cuthie) (12/12/88)
In article <429@lehi3b15.UUCP> mludwig@lehi3b15.UUCP (Mitchell Ludwig ) writes: > >Ok, here we go... > >I am attempting to make 18.52 (gnu) work on my Microport 386. The machine >is running Microport UN*X ver 3. Internally I've got 2 meg of usable memory. >When I compile the darn thing, everything goes just grand until the makefile >tries to execute ld temacs (and a whole lot of .o files...). Partway >through the execution of this command I get an error concerning the system's >inability to add the symbol Lisp_Subr to the symbol table and then I get >gonged. I'm using the m-intel386.h and the s-usg-5-3.h in my config.h. >My question is, HELP! How come? I have a friend using the freakin thing in [stuff deleted] Check the amount of disk space you have in the root partition. I ran into this problem on a client's system while trying to build a new kernel. After scratching my head for a few minutes I realized that all the disk space in the root partition (/) was gone. I then found out that when I had asked them to restore from the backup tape a few weeks ago, they had somehow not mounted the /usr file system. I don't know why, but the ld(er) is not very good about error messages when it runs out of disk space. This is *so* like many unix utilities. I like unix and have been using it for a *long* time, but I can't help but wonder what universe some of the people who write these utilities live in. I mean would it be so difficult to say "ld: out of /tmp space ?" I can't help but think that the major obstacle to UNIX becoming accepted in the business community has been the piss poor way in which programs die. Most of the time the program knows why it can't proceed but it just gives one of those famous "name: cryptic dribble" messages. Some utilities are definitely better than others but AT&T needs to impliment some internal standard for the way a program dies. All programs should be required to give you meaningfull error messages. Then perhaps, non UNIX people will begin to overcome their fears of using it. -brian -- Brian D. Cuthie uunet!umbc3!cbw1!brian Columbia, MD brian@umbc3.umd.edu
karl@triceratops.cis.ohio-state.edu (Karl Kleinpaste) (12/12/88)
brian@cbw1.UUCP (Brian Cuthie) writes: >Partway >through the execution of this command I get an error concerning >the system's inability to add the symbol Lisp_Subr to the symbol >table Check the amount of disk space you have in the root partition. If this is in fact the problem, then try setting the environment variable TMPDIR to some directory on a filesystem with lots of excess space. All the SysV standard utilities will write their temp files there rather than in /tmp. --Karl
debra@alice.UUCP (Paul De Bra) (12/12/88)
In article <121@cbw1.UUCP> brian@cbw1.UMD.EDU (Brian Cuthie) writes: >... >I don't know why, but the ld(er) is not very good about error messages when >it runs out of disk space. This is *so* like many unix utilities. I like >unix and have been using it for a *long* time, but I can't help but wonder >what universe some of the people who write these utilities live in. I mean >would it be so difficult to say "ld: out of /tmp space ?" >... What's wrong with the message the kernel should display on the console: /tmp: file system full and which it repeats for every attempted write? I don't know about Microport but every other unix system I have worked on will give you this message. I think it's a neat idea to put this message in just one place (in the kernel) rather than to repeat it in every utility. And though it used to be a problem on multiuser systems where you might not notice the messages on the console (though the system surely came to a crawl which everyone should notice) on these mighty PC's where one always uses the console this should be even more acceptable than before. Paul. -- ------------------------------------------------------ |debra@research.att.com | uunet!research!debra | ------------------------------------------------------
jxw@RODS.IUS.CS.CMU.EDU (John Willis) (12/13/88)
Several weeks ago I was able to compile GNU-Emacs 18.52 under Microport 3.0 and /bin/cc. You need to be careful because the LISP files default to loading a compiled version (.elc) rather than a pure ASCII source version (.el). Somewhere along the transmission path, if you assume that the source is all ASCII, these compiled files will probably be corrupted. There is a simple fix, as documented by Stallman in the release notes. 1) Increase the amount of memory allocated to pure lisp (I think the define is at the end of config.h). 2) Recompile (only alloc.o is probably sufficient, check). 3) Delete all of the .elc files from the LISP directory. 4) Load the new temacs, defaulting to .el representations. 5) Recompile .el files into .elc files (something like byte-compile-directory ../Lisp) 6) Reduce the pure lisp storage (reversing (1) above). 7) Rebuild emacs, loading the .elc files by default. Like the other GNU tools, this is an excellent editor. It's worth a little effort. If this doesn't get you a running Emacs 18.52, I'll try to help. -John --
" Maynard) (12/13/88)
In article <8525@alice.UUCP> debra@alice.UUCP () writes, in reference to a kernel message written to the console: >And though it used to be a problem on multiuser systems where you might >not notice the messages on the console (though the system surely came to a >crawl which everyone should notice) on these mighty PC's where one always >uses the console this should be even more acceptable than before. Hate to tell you this, Paul, but I'm on /dev/cons1 right now on my AT-clone, not /dev/console. I hardly ever flip over to /dev/console; insted, it's reserved for those times that I need to log on as root to get something done. Next suggestion? -- Jay Maynard, EMT-P, K5ZC, PP-ASEL | Never ascribe to malice that which can uucp: uunet!nuchat! (eieio)| adequately be explained by stupidity. hoptoad!academ!uhnix1!splut!jay +---------------------------------------- {killer,bellcore}!tness1! | Eight more years! Eight more years!
debra@alice.UUCP (Paul De Bra) (12/13/88)
In article <778@splut.UUCP> jay@splut.UUCP (Jay "you ignorant splut!" Maynard) writes: ]In article <8525@alice.UUCP> debra@alice.UUCP () writes, in reference to ]a kernel message written to the console: ]>And though it used to be a problem on multiuser systems where you might ]>not notice the messages on the console (though the system surely came to a ]>crawl which everyone should notice) on these mighty PC's where one always ]>uses the console this should be even more acceptable than before. ] ]Hate to tell you this, Paul, but I'm on /dev/cons1 right now on my ]AT-clone, not /dev/console. I hardly ever flip over to /dev/console; ]insted, it's reserved for those times that I need to log on as root to ]get something done. Next suggestion? ] I hate to tell you this, Jay, but Microbug clearly blew it on this one again. With SCO Xenix you would get the messages no matter on which virtual console you are. So you can figure out my next suggestion... Paul. -- ------------------------------------------------------ |debra@research.att.com | uunet!research!debra | ------------------------------------------------------
brian@cbw1.UUCP (Brian Cuthie) (12/14/88)
In article <8525@alice.UUCP> debra@alice.UUCP () writes: >In article <121@cbw1.UUCP> brian@cbw1.UMD.EDU (Brian Cuthie) writes: >>... >>I don't know why, but the ld(er) is not very good about error messages when >>it runs out of disk space. This is *so* like many unix utilities. I like >>unix and have been using it for a *long* time, but I can't help but wonder >>what universe some of the people who write these utilities live in. I mean >>would it be so difficult to say "ld: out of /tmp space ?" >>... >What's wrong with the message the kernel should display on the console: >/tmp: file system full >and which it repeats for every attempted write? > Well, actually, it doesn't do that for microport Sys V/386. Plus, I'm not sure that it's reasonable for user A to have to wonder what's wrong with his program when the messages are bombarding user B. Seems kind of stupid to me. I will stick with my original statement: ALL PROGRAMS SHOULD SAY *IN CLEAR ENGLISH* WHY THEY DIED ! I mean, GEEZ, what is it that makes people want to keep unix messages cryptic. Could it be job security ?? I sure don't know. -brian -- Brian D. Cuthie uunet!umbc3!cbw1!brian Columbia, MD brian@umbc3.umd.edu
mludwig@lehi3b15.UUCP (Mitchell Ludwig ) (12/14/88)
In article <11544@bigtex.cactus.org> james@bigtex.cactus.org (James Van Artsdalen) writes: >GNU emacs 18.52 works fine under uPort unix, at least my 2.2 version. >I'll send Mitchell (and anyone else) my config.h, .emacs, and a >program I wrote to re-map the AT keyboard to something more useful for >emacs and ksh. James, thanks alot for your help. Believe me it made life alot easier. The remap is real nice. But (there is *ALWAYS* a but), I am now having a new problem. I'm now a happy user of GNU 18.52, well, almost happy. RMAIL hates me. My system is hooked via uucp to an internet gateway of sorts. It's also hooked to another independent machine. I can't talk to either of them. I can originate messages to either, but responding aint a happy time. The 3b15 (which is my internet host) mails to me with the extension of @lehi3b15.UUCP which my mailer hates. I guess it's the @ sign. Any help there? And with ubu, the indep. machine, all mail from him seems to be coming from my uucp account, and rmail replies to it there. So I'm in deep kaka and sinking fast into the mud. Any help is appreciated... Mitch ...!lehi3b15!mludwig ...!lehi3b15!rastro!mfl (but don't expect a reply :-)
guy@auspex.UUCP (Guy Harris) (12/14/88)
>And though it used to be a problem on multiuser systems where you might >not notice the messages on the console (though the system surely came to a >crawl which everyone should notice) on these mighty PC's where one always >uses the console this should be even more acceptable than before. It's arguably still a problem on those multiuser systems; they haven't gone away. Furthermore, programs should print them *anyway*; programs should check for I/O errors and report them. They should also "do the right thing" when they occur; for instance, an SMTP daemon should *not* acknowledge receipt of mail until it has written the mail out with no errors *and*, if at all possible, has ensured that the data has actually been written to non-volatile storage (using "fsync" on systems that have it, otherwise using O_SYNC mode when writing on systems that have it). As long as you're checking for errors such as this, it's not that much harder to print a message as well.... Furthermore, it's not always obvious what *caused* the file system to fill up; it might have been caused by a daemon program as opposed to a command the user ran (or it might have been caused by a background job the user started, or by somebody who remotely logged into your machine running a job, or...). A message from the program, giving the source of the message (e.g., "ld", or maybe even better "cc"), would do that better than just "/tmp: file system full".
lars@myab.se (Lars Pensj|) (12/14/88)
In article <8525@alice.UUCP> debra@alice.UUCP () writes: >In article <121@cbw1.UUCP> brian@cbw1.UMD.EDU (Brian Cuthie) writes: >>... >>I don't know why, but the ld(er) is not very good about error messages when >>it runs out of disk space. This is *so* like many unix utilities. I like >>unix and have been using it for a *long* time, but I can't help but wonder >>what universe some of the people who write these utilities live in. I mean >>would it be so difficult to say "ld: out of /tmp space ?" >>... >What's wrong with the message the kernel should display on the console: >/tmp: file system full > >I don't know about Microport but every other unix system I have worked on >will give you this message. I think it's a neat idea to put this message in >just one place (in the kernel) rather than to repeat it in every utility. I strongly disagree here. It is of vital importance that all programs on their own check results of system calls (like write). Even if some people uses the console, there are always a lot of people who do not. It is also important that a program wich fails on a system call (as in this case) immediately terminates (if it does not know how to recover). I have had to much contact with programs that take for granted success of some functions, with the result that the programs just fails without telling why. Especially when porting to new systems. And when a system call fails, always use perror. -- Lars Pensj| lars@myab.se
mdt@s1.sys.uea.ac.uk (M.D. Templeton GEC ) (12/16/88)
o Item 1 I have emacs v 18.45, on a Sun 3/50 and have a teeny weeny problem. If I use the mouse in suntools, say with two emacs windows displayed, to select an emacs menu option, say to expand the current window, the message I get is: Invalid function: (macro lambda (window &rest forms) "Switch to WINDOW, evaluate FORMS, return to original window." (byte-code ..... The dots were my idea! The function does seem to be performed, though. I also can't get any effect from the middle mouse-key. Any ideas, fixes, patches???? o Item 2: Does anyone in the UK or Europe have a copy of emacs 18.52, and the will to put it on a tape for me (I'll supply the tape of course). Similarly, anyone over here got the other FSF programs, and/or a system for getting updates/new versions as they come available?? o Thanks in advance for help with both of these items. Mark D Templeton (The Druid) Janet: mdt@uk.ac.uea.cs Voice: 0603-56161 x 2308 (UEA) 0634-44433 x 60 (GEC) 0634-364150 (home - 18-Dec-88 to 3-Jan-89)
jr@bbn.com (John Robinson) (12/16/88)
In article <291@s1.sys.uea.ac.uk>, mdt@s1 (M.D. Templeton GEC ) writes: >o Item 1 > I have emacs v 18.45, on a Sun 3/50 and have a teeny weeny problem. > If I use the mouse in suntools, say with two emacs windows displayed, > to select an emacs menu option, say to expand the current window, > the message I get is: > >Invalid function: (macro lambda (window &rest forms) "Switch to WINDOW, evaluate FORMS, return to original window." (byte-code ..... This is one of those problems that crop up from time to time. What happened is that one of the sun-*.el files was byte-copmiled without the proper macro definitions having been made first. Though I have 18.52, it appears that the macro in question is eval-in-window, which is used in sun-fns.el and sun-mouse.el, and defined at thge top of the latter. The error you got is that the macro definition was called as a function, which doesn't work. The fix is to load the file defining the macro before byte-compiling files that use the macro. In your case, connect to the emacs/lisp directory and do the sequence: (load-file "sun-mouse.el") (byte-compile-file "sun-mouse.el") (byte-compile-file "sun-fns.el") or the equivalent interactive calls. Check first that the defmacro in question is in sun-mouse.el, as 18.45 may differ from 18.52. To be safe, you may want to load-file on all the sun-*.el files and byte-compile them all. Do all the load-files first. -- /jr jr@bbn.com or bbn!jr
mdt@s1.sys.uea.ac.uk (M.D. Templeton GEC ) (12/16/88)
Another one.. Emacs has a terminal emulator. As I need a vt100 terminal emulator for a Sun 3/60, I thought this a good idea. However, the emacs terminal emulator seems to emulate some unknown terminal type. Does anyone have the lisp to make a VT100 version?? Alternatively, any suggestions as to how I can get vt100 emulation through suntools, or anything else?? ps. Although I have emacs 18.45, I only have the manual/info files for version 17. Mark D Templeton (The Druid)
debra@alice.UUCP (Paul De Bra) (12/17/88)
In article <448@myab.se> lars@myab.UUCP (Lars Pensj|) writes: >... >It is of vital importance that all programs >on their own check results of system calls (like write). >... I agree, but unfortunately very few programs actually do this for read and write. It is very common in Unix utilities to check the result of the open system call and then just assume that writing and closing will go well. Reasons are obvious: programmers are a bit lazy, and the programs become smaller and faster if you don't check. (so not checking also makes your system look better in benchmarks which use standard utilities...) The administrative advice which is given with every Unix system (or at least used to be given) is that the system administrator should regularly check the amount of free space on all file systems, to make sure they never get full. This administrative procedure may no longer be considered acceptable, but remember that lots of utilities have not changed, so they still rely on this assumption. Paul. -- ------------------------------------------------------ |debra@research.att.com | uunet!research!debra | ------------------------------------------------------
plocher@uport.UUCP (John Plocher) (12/17/88)
In article <8530@alice.UUCP> debra@alice.UUCP () writes: >I hate to tell you this, Jay, but Microbug clearly blew it on this one >again. With SCO Xenix you would get the messages no matter on which virtual >console you are. So you can figure out my next suggestion... > >Paul. The messages printed by Unix kernels use a version of printf() which bypasses the complete Virtual Console Subsystem and dumps the text directly to the screen. This is done by the ATT, ISC, Microport, and SCO versions of Unix to make sure the messages get seen (what would happen if there was a bug in the console driver and you couldn't change to the console VC? You'd still want to see the message! These messages also pass thru the osm (Operating System Messages) driver so you can log them to a file amd find them with crash(1M). -John Plocher
chip@ateng.ateng.com (Chip Salzenberg) (12/22/88)
In article <448@myab.se> lars@myab.UUCP (Lars Pensj|) reminds us that all programs should check return values of system calls, such as write(). This is obviously good policy. However, according to debra@alice.UUCP (Paul De Bra): >... unfortunately very few programs actually do this for read and write... >Reasons are obvious: programmers are a bit lazy, and the programs become >smaller and faster if you don't check. (so not checking also makes your >system look better in benchmarks which use standard utilities...) This misconception about "efficiency" is all too common. Checking the return values of system calls takes some programmer time during coding, but this is more than returned during debugging and use. ("A bit lazy"? Try "lazy enough to get fired".) And as for execution speed: how long does an integer comparison take? Certainly not enough to worry about, once you've accepted the overhead of a kernel trap. And this fellow works in AT&T Research. Sigh. -- Chip Salzenberg <chip@ateng.com> or <uunet!ateng!chip> A T Engineering Me? Speak for my company? Surely you jest! "It's no good. They're tapping the lines."