dboyes@brazos.rice.edu (David Boyes) (03/31/91)
Refer me to a FAQ posting if one is available, but I have a few
questions about the 2.0 environment. The machine in question is a
030 cube, OD, 8M, 660M disk.
1) Where did /lib/libc.a go? I found a libcs.a in /usr/lib -- is
this just a shared version? It was there under 1.0a.
2) Has anyone successfully compiled Elm 2.3 for 2.0?
Sigh. I'd hate to have to go back to 1.0a -- I've just gotten
used to the 2.0 browser.
--
David Boyes |The three most dangerous things in the world:
dboyes@rice.edu | 1) a programmer with a soldering iron,
| 2) a hardware type with a program patch, and
"Delays, delays!" | 3) a user with an idea.
eps@toaster.SFSU.EDU (Eric P. Scott) (03/31/91)
In article <1991Mar31.050505.18795@rice.edu> dboyes@brazos.rice.edu (David Boyes) writes: >1) Where did /lib/libc.a go? It went away. cc now "always" links against the shared library. This is your punishment for not religiously using -lsys_s under previous releases. :-) > I found a libcs.a in /usr/lib -- is > this just a shared version? Nope. This is is a library of nifty goodies from CMU. NeXT seems to have removed the man pages... I know they were there once (0.9?), since I have code that depends on procedures in it. >2) Has anyone successfully compiled Elm 2.3 for 2.0? Well, I've been using 1.0 binaries, but just for you, I just did. Piece of cake. The rest of this article deals with this question, so if you're not interested, hit `n' now... As of this writing, the current release is 2.3PL11. Apply the patches at the end of this article in the usual manner: From rn, say "| patch -p -N -d DIR", where DIR is your elm source directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle". If you don't have the patch utility (you WHAT?), you can FTP an executable from sutro.sfsu.edu [130.212.15.230] as pub/patch.Z (you will need to uncompress it first!) Run Configure. Most of the questions have obvious responses (like RETURN). Give the name of the program used to process manual pages on your system: [/usr/bin/troff] /usr/bin/ptroff As good an answer as any. Where do the manual pages (source) go? [/usr/man/mann] /usr/man/manl Local preference. Any additional cc flags? [none] -bsd You will, of course, burn in Hell otherwise. :-) None of these seems to contain your C library. What is the full name of your C library? /lib/libsys_s.a It is now! Are you getting the passwd file via yellow pages? [n] y Well, I'm really getting it from NetInfo, but the question is really asking about whether it's "safe" to read /etc/passwd directly. It isn't! Would you like to use flock style mail spool locking only? [n] y Only Bryan Yamamoto knows for sure. :-) Pathalias data file /usr/lib/nmail.paths doesn't exist. Use that name anyway? [n] y This is a sendmail system. It shouldn't really be asking this. Somewhat later during Configure it gets around to checking for sendmail. Domains data file /usr/lib/domains doesn't exist. Use that name anyway? [n] y Ditto. What is the default editor on your system? [/usr/ucb/vi] builtin File builtin doesn't exist. Use that name anyway? [n] y The official version of ELM does The Wrong Thing if you answer anything other than /usr/ucb/vi; the attached patches let you specify whatever you prefer so it works as documented. The ELM Development Group refused(!) to fix the official version, saying they'll take care of it in 2.4. (Sounds familiar, huh?) Am I going to be running as a setgid program? [y] n This isn't System V! If you need to edit config.sh, do it as a shell escape here: !ex config.sh :/voidsig/s/define/undef/ :/passcat/s/ypcat passwd/nidump passwd \// :wq -bsd affects preprocessor symbols, but when Configure wanted to know what signal() returns it didn't pass that flag to its test program (since it didn't start with -D or -I) and used ANSI semantics by mistake. Then we tell it what works in shell scripts for getting passwd information. Then type make. You will get warnings in addr_util.c and init.c; don't worry about them. I don't install the following: answer (we don't run that sort of operation) arepdaemon (use vacation instead) autoreply (ditto) fastmail (use sendmail -t instead) [w]newmail (use biff instead) Let me know if you encounter any surprises. -=EPS=- ------- The following unofficial patch is for ELM 2.3PL11 Priority (NONE) . Change default sort order for compatibility with other MUAs (MED) . Fix ~v to properly invoke vi when elm is configured to use "builtin" or "none" as the default editor (MED) . Even if already_has_text is true, if the alternate_editor is "builtin" or "none" don't try to shell to it (HIGH) . conditional out functions that conflict with shared library versions under NeXT Software Release 2.0 (LOW) . Avoid creating extraneous process from ~! shell escape ------- Index: hdrs/elm.h Prereq: 4.1.1.1 *** hdrs/elm.h.orig --- hdrs/elm.h *************** *** 142,148 **** int prompt_for_cc = 1; /* flag: ask user for "cc:" value? */ int sig_dashes = 1; /* flag: include dashes above sigs? */ ! int sortby = REVERSE SENT_DATE; /* how to sort incoming mail... */ long timeout = 600L; /* timeout (secs) on main prompt */ --- 142,148 ---- int prompt_for_cc = 1; /* flag: ask user for "cc:" value? */ int sig_dashes = 1; /* flag: include dashes above sigs? */ ! int sortby = MAILBOX_ORDER; /* how to sort incoming mail... */ long timeout = 600L; /* timeout (secs) on main prompt */ Index: hdrs/sysdefs.SH Prereq: 4.1.1.3 *** hdrs/sysdefs.SH.orig --- hdrs/sysdefs.SH *************** *** 100,105 **** --- 100,106 ---- #define readmsg_file ".elm/readmsg" #define emacs_editor "$emacs" + #define vi_editor "$vi" #define default_editor "$defeditor" #define mailhome "$maildir/" Index: src/editmsg.c Prereq: 4.1.1.4 *** src/editmsg.c.orig --- src/editmsg.c *************** *** 76,82 **** buffer[0] = '\0'; if (strcmp(editor, "builtin") == 0 || strcmp(editor, "none") == 0) { ! if (already_has_text) sprintf(buffer, "%s %s", alternative_editor, filename); else return(no_editor_edit_the_message(filename)); --- 76,83 ---- buffer[0] = '\0'; if (strcmp(editor, "builtin") == 0 || strcmp(editor, "none") == 0) { ! if (already_has_text && strcmp(alternative_editor, "builtin") && ! strcmp(alternative_editor, "none")) sprintf(buffer, "%s %s", alternative_editor, filename); else return(no_editor_edit_the_message(filename)); *************** *** 255,261 **** case 'v' : NewLine(); strcpy(buffer, editor); ! strcpy(editor, default_editor); fclose(edit_fd); (void) edit_the_message(filename,0); strcpy(editor, buffer); --- 256,262 ---- case 'v' : NewLine(); strcpy(buffer, editor); ! strcpy(editor, vi_editor); fclose(edit_fd); (void) edit_the_message(filename,0); strcpy(editor, buffer); *************** *** 305,311 **** if (( old_raw = RawState()) == ON) Raw(OFF); if (strlen(buffer) < 3) ! (void) system_call(shell, USER_SHELL, TRUE, TRUE); else (void) system_call((char *) buffer+2, USER_SHELL, TRUE, TRUE); if (old_raw == ON) --- 306,312 ---- if (( old_raw = RawState()) == ON) Raw(OFF); if (strlen(buffer) < 3) ! (void) system_call((char *)NULL, USER_SHELL, TRUE, TRUE); else (void) system_call((char *) buffer+2, USER_SHELL, TRUE, TRUE); if (old_raw == ON) Index: sys/opt_utils.c Prereq: 4.1 *** src/opt_utils.c.orig --- src/opt_utils.c *************** *** 186,192 **** #endif ! #if defined(BSD) && !defined(_POSIX_SOURCE) /** some supplementary string functions for Berkeley Unix systems **/ --- 186,192 ---- #endif ! #if defined(BSD) && !defined(_POSIX_SOURCE) && !defined(NeXT) /** some supplementary string functions for Berkeley Unix systems **/ Index: sys/syscall.c Prereq: 4.1.1.4 *** src/syscall.c.orig --- src/syscall.c *************** *** 218,224 **** #endif /* Go for it. */ ! execl(sh, argv_zero(sh), "-c", string, (char *) 0); /* If exec fails, we write a byte to the pipe before exiting. */ perror(sh); --- 218,225 ---- #endif /* Go for it. */ ! if (string) execl(sh, argv_zero(sh), "-c", string, (char *) 0); ! else execl(sh, argv_zero(sh), (char *) 0); /* If exec fails, we write a byte to the pipe before exiting. */ perror(sh);