MYJAK@titan.ksc.nasa.gov (11/27/90)
Date: Mon, 19 Nov 1990 8:46:15 EST From: MYJAK@TITAN.KSC.NASA.GOV Message-Id: <901119084615.1b20@TITAN.KSC.NASA.GOV> Subject: Problems w/ EMACS on Interactive UNIX 2.2 To: help-gnu-emacs@prep.ai.mit.edu X-Vmsmail-To: SMTP%"help-gnu-emacs@prep.ai.mit.edu" Sir, I am attempting to install GNU EMACS on a Compaq SystemPro 386/420 running interactive's version 2.2 of AT&T's UNIX 5.3. I have modified the config.h file to include s-usg5-3.h and m-intel386.h as per the GNU instructions. Allegro CL is the environment I am attempting to build on the Compaq, and as such, Allegro also sent me some files to include within EMACS prior to building it. Allegro stipulated that I replace the function "open-network-stream" (located in process.c) with their version of the function. Allegro requested that I also define the variable HAVE_UNIX_DOMAIN (which is supposed to activate the UNIX domain sockets). Here is the synopsys of my build: while compiling ./lisp.h lines 57,221,223,384,542,543, & 961 all report "extra tokens" which are ignored. while compiling ./sysdep.c lines 74,453,541,1780, & 2075 all report "extra tokens" which are also ignored. Then: line 688: Unknown size line 709: Undefined Structure The build then aborts on this critical error (1) and halts. Allegro claims that they have incorporated "... too many changes to GNU EMACS (18-55) to describe them to me over the phone." This, naturally, was of little help. SO I thought I'd try sending ya'll mail. Perhaps the fact that TIOCGETC key was true may be of some help as thats what the compile choked on. Any assistance you can provide would greatly appreciated. Sincerely, Michael D. Myjak Senior Technical Specialist McDonnell Douglas Space Systems Co. - Kennedy Space Center (MYJAK@TITAN.KSC.NASA.GOV)
mt00@eurotherm.co.uk (Martin Tomes) (11/27/90)
Here is what I had to do to emacs 18.55 to make it run on Interactive Systems Corp UNIX V2.2: *** sysdep.c-dist Wed Nov 14 13:55:38 1990 --- sysdep.c Wed Nov 14 15:51:55 1990 *************** *** 112,117 **** --- 112,126 ---- #ifdef HAVE_TERMIO #include <termio.h> + /* MDT - Interactive have combined old and new facilities into one + * include file which really confuses this code, so I have + * undefined the old stuff which is not needed. + */ + #ifdef ISC + #undef TIOCGETC + #endif + + #undef TIOCGETP #define TIOCGETP TCGETA #undef TIOCSETN *** dispnew.c-dist Tue Nov 20 16:59:17 1990 --- dispnew.c Tue Nov 20 16:59:18 1990 *************** *** 1480,1486 **** --- 1480,1488 ---- \(such as `x'), or nil if emacs is running on an ordinary terminal."); DEFVAR_LISP ("window-system-version", &Vwindow_system_version, "Version number of the window system Emacs is running under."); + #ifndef CANNOT_DUMP Vwindow_system_version = Qnil; + #endif DEFVAR_BOOL ("cursor-in-echo-area", &cursor_in_echo_area, "Non-nil means put cursor in minibuffer after any message displayed there. "); *** process.c-dist Wed Nov 14 13:55:32 1990 --- process.c Wed Nov 14 16:05:29 1990 *************** *** 62,72 **** --- 62,78 ---- #include <sys/time.h> #else /* not IRIS, not UNIPLUS */ + #ifdef ISC + #include <sys/sysmacros.h> /* for "minor" */ + #include <sys/time.h> + + #else /* not IRIS, not UNIPLUS, not ISC */ #ifdef HAVE_TIMEVAL #if defined(USG) && !defined(IBMRTAIX) #include <time.h> #else /* IBMRTAIX or not USG */ #include <sys/time.h> + #endif /* ISC */ #endif /* IBMRTAIX or not USG */ #endif /* HAVE_TIMEVAL */ *** x11term.c-dist Wed Nov 14 13:55:43 1990 --- x11term.c Thu Nov 15 12:27:59 1990 *************** *** 74,80 **** --- 74,84 ---- #ifdef IRIS_4D #include <sys/time.h> #else + #ifdef ISC + #include <sys/time.h> + #else #include <time.h> + #endif #endif #else #include <sys/time.h> *** config.h-dist Thu Apr 21 09:18:33 1988 --- config.h Tue Nov 27 14:14:00 1990 *************** *** 24,30 **** See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ ! #include "s-bsd4-2.h" /* Include here a m- file that describes the machine and system you use. See the file ../etc/MACHINES for a list of machines and --- 24,30 ---- See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ ! #include "s-isc.h" /* Include here a m- file that describes the machine and system you use. See the file ../etc/MACHINES for a list of machines and *************** *** 31,37 **** the names of the m- files to use for them. See m-template.h for info on what m- files should define. */ ! #include "m-vax.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not --- 31,37 ---- the names of the m- files to use for them. See m-template.h for info on what m- files should define. */ ! #include "m-386pc.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not *************** *** 46,57 **** /* Define HAVE_X_WINDOWS if you want to use the X window system. */ ! /* #define HAVE_X_WINDOWS */ /* Define X11 if you want to use version 11 of X windows. Otherwise, Emacs expects to use version 10. */ ! /* #define X11 */ /* Define HAVE_X_MENU if you want to use the X window menu system. This appears to work on some machines that support X --- 46,57 ---- /* Define HAVE_X_WINDOWS if you want to use the X window system. */ ! #define HAVE_X_WINDOWS /* Define X11 if you want to use version 11 of X windows. Otherwise, Emacs expects to use version 10. */ ! #define X11 /* Define HAVE_X_MENU if you want to use the X window menu system. This appears to work on some machines that support X To make an s-isc.h copy s-usg5-2.h to s-isc.h and apply this diff: *** s-isc.h-dist Thu Mar 5 20:12:53 1987 --- s-isc.h Wed Nov 21 13:38:08 1990 *************** *** 27,32 **** --- 27,36 ---- #define USG /* System III, System V, etc */ #define USG5 + #define ISC /* Identifies Interactive UNIX. */ + #define LIBS_SYSTEM /usr/local/lib/gcc-gnulib + #define LIBX11_SYSTEM -linet + #define HAVE_SYSVIPC /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ *************** *** 60,72 **** * Look in <sys/time.h> for a timeval structure. */ ! /* #define HAVE_TIMEVAL */ /* * Define HAVE_SELECT if the system supports the `select' system call. */ ! /* #define HAVE_SELECT */ /* * Define HAVE_PTYS if the system supports pty devices. --- 64,77 ---- * Look in <sys/time.h> for a timeval structure. */ ! #define HAVE_TIMEVAL ! #define USE_UTIME /* Does not have utimes call. */ /* * Define HAVE_SELECT if the system supports the `select' system call. */ ! /* #define HAVE_SELECT /* Almost works. Stops sub process stuff from working. */ /* * Define HAVE_PTYS if the system supports pty devices. And to get m-386pc.h copy m-intel386.h and apply this diff: *** m-386pc.h-dist Wed Nov 14 13:55:28 1990 --- m-386pc.h Wed Nov 14 16:28:10 1990 *************** *** 73,84 **** #ifdef XENIX /* Data type of load average, as read out of kmem. */ ! #define LOAD_AVE_TYPE short /* Convert that into an integer that is 100 for a load average of 1.0 */ ! #define LOAD_AVE_CVT(x) (((double) (x)) * 100.0 / FSCALE) ! #define FSCALE 256.0 /* determined by experimentation... */ #endif /* Define CANNOT_DUMP on machines where unexec does not work. --- 73,84 ---- #ifdef XENIX /* Data type of load average, as read out of kmem. */ ! #define LOAD_AVE_TYPE long /* Convert that into an integer that is 100 for a load average of 1.0 */ ! #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) ! #define FSCALE 400000.0 /* determined by experimentation... */ #endif /* Define CANNOT_DUMP on machines where unexec does not work. *************** *** 85,91 **** Then the function dump-emacs will not be defined and temacs will do (load "loadup") automatically unless told otherwise. */ ! /* #define CANNOT_DUMP */ /* Define VIRT_ADDR_VARIES if the virtual addresses of pure and impure space as loaded can vary, and even their --- 85,91 ---- Then the function dump-emacs will not be defined and temacs will do (load "loadup") automatically unless told otherwise. */ ! #define CANNOT_DUMP /* Define VIRT_ADDR_VARIES if the virtual addresses of pure and impure space as loaded can vary, and even their Note that it defines CANNOT_DUMP. If you define HAVE_SELECT and undefine CANNOT_DUMP it will dump, but emacsclient and shell mode will not work properly. Basically the ISC select() call does not detect all events but allows dump, emacs select() finds all the events but dumped versions crash. Versions which do not use X windows will dump. To build one of these undefine HAVE_X_WINDOWS and X11 in s-isc.h and CANNOT_DUMP in m-386pc.h. Martin Tomes Janet: mtomes@uk.co.eurotherm | Eurotherm Limited, Faraday Close, Internet: mtomes@eurotherm.co.uk | Durrington, Worthing, W.Sussex, England. UUCP: {ukc,uunet}!etherm!mtomes | Phone: +44 903 68500 Fax: +44 903 65982