Not File System Specific? (Not Quite) 297 Date: Wed, 12 Dec 90 15:07 EST From: Jerry Roylance glr@ai.mit.edu Subject: Emacs needs all file servers? (was: AB going down) To: CarlManning@ai.mit.edu5 Cc: SYSTEM-HACKERS@ai.mit.edu, SUN-FORUM@ai.mit.edu Date: Wed, 12 Dec 90 14:16 EST From: Carl R. Manning CarlManning@ai.mit.edu Out of curiosity, is there a good reason why Emacs can’t start up (e.g., on rice-chex) when any of the file servers are down? E.g., when AB or WH have been down recently for disk problems, I couldn’t start up an Emacs on RC, despite the fact that I had no intention of touching any files on AB or WH. Sun brain damage. Emacs calls getcwd, and getcwd wanders down the mounted file systems in /etc/mtab. If any of those file systems is not responding, Emacs waits for the timeout. An out-to-lunch file system would be common on public machines such as RC. (Booting RC would fix the problem.) Booting rice-chex would fix the problem. How nice! Hope you aren’t doing anything else important on the machine. Not Supporting Multiple Architectures Unix was designed in a homogeneous world. Unfortunately, maintaining a heterogeneous world (even with hosts all from the same vendor) requires amazingly complex mount tables and file system structures, and even so, some directories (such as /usr/etc) contain a mix of architecture-specific and architecture-dependent files. Unlike other network file systems (such as the Andrew File System), NFS makes no provisions for the fact that dif- ferent kinds of clients might need to “see” different files in the same place of their file systems. Unlike other operating systems (such as Mach), Unix makes no provision for stuffing multiple architecture-specific object mod- ules into a single file. You can see what sort of problems breed as a result: 5Forwarded to UNIX-HATERS by Steve Robbins.
298 NFS Date: Fri, 5 Jan 90 14:44 CST From: Chris Garrigues 7thSon@slcs.slb.com Subject: Multiple architecture woes To: UNIX-HATERS I’ve been bringing up the X.500 stuff from NYSERnet (which is actually a fairly nicely put-together system, by Unix standards). There is a lot of code that you need for a server. I compiled all this code, and after some struggle, finally got it working. Most of the struggle was in trying to compile a system that resided across file systems and that assumed that you would do the compilation as root. It seems that someone realized that you could never assume that root on another system was trustworthy, so root has fewer privileges than I do when logged in as myself in this context. Once I got the server running, I came to a piece of documentation which says that to run just the user end, I need to copy certain files onto the client hosts. Well, since we use NFS, those files were already in the appropriate places, so I won on all the machines with the same architecture (SUN3, in this case). However, many of our machines are SUN4s. There were no instruc- tions on how to compile only the client side, so I sent mail to the original author asking about this. He said there was no easy way to do this, and I would have to start with ./make distribution and rebuild everything. Since this is a large system, it took a few hours to do this, but I suc- ceeded, and after finding out which data files I was going to have to copy over as well (not documented, of course), I got it working. Meanwhile, I had been building databases for the system. If you try and load a database with duplicate entries into your running system, it crashes, but they provide a program that will scan a datafile to see if it’s OK. There's a makefile entry for compiling this entry, but not for installing it, so it remains in the source hierarchy. Last night, I brought my X.500 server down by loading a broken database into it. I cleaned up the database by hand and then decided to be rational and run it through their program. I couldn't find the program (which had a horrid path down in the source hierarchy). Naturally enough, it had been deleted by the ./make distribution (Isn't that what you would call the command for deleting everything?). I