[comp.sys.sgi] Epoch 3.2 on Personal IRIS

loan@Neon.Stanford.EDU (James P. Loan) (11/05/90)

Has anyone out there successfully built and used Epoch 3.2 on an IRIS?

I'm having trouble getting Epoch 3.2 to run properly on a Personal IRIS
(IRIX 3.3.1). When building it, the only changes I made to the configuration
files was to comment out

#define HAVE_TIMEVAL and
#define IRIS_UTIME

from s-iris3-6.h, and add the line

#define HAVE_GETWD

to config.h. It seemed to build Epoch just fine, but there are some major
problems when I run it.
(1) It won't accept filenames on the command line
(2) When in Epoch, pressing C-x causes a beep and the error message:

select error: Invalid Argument

Needless to say, Epoch (or Emacs for that matter) is not very useful without
C-x.

Has anyone else found and solved these problems?

thanks in advance,
pete loan
loan@neon.stanford.edu

scotth@harlie.corp.sgi.com (Scott Henry) (11/06/90)

Here are the patches I made to epoch 3.2 to make it compile under Irix
3.3.*. It is in two patch files, one for the etc directory, and one
for the src directory (I've still got the "occasional core dump with
multiple screens" problem, though):

/* epoch-3.2/etc/patchfile: */
*** Makefile.orig	Tue Oct 16 11:40:10 1990
--- Makefile	Wed Oct 31 08:29:14 1990
***************
*** 3,9 ****
  # For Xenix.  Needed for movemail
  #  LOADLIBES= -lx
  # For Iris 4d.  Needed for loadst.
! #  LOADLIBES = -lmld
  
  EXECUTABLES = test-distrib etags ctags loadst make-docfile \
     digest-doc sorted-doc movemail cvtmail fakemail yow env \
--- 3,9 ----
  # For Xenix.  Needed for movemail
  #  LOADLIBES= -lx
  # For Iris 4d.  Needed for loadst.
! LOADLIBES = -lmld
  
  EXECUTABLES = test-distrib etags ctags loadst make-docfile \
     digest-doc sorted-doc movemail cvtmail fakemail yow env \

/* epoch-3.2/src/patchfile: */
*** x11fns.c.~1~	Tue Oct 16 11:45:23 1990
--- x11fns.c	Sat Oct 27 09:51:15 1990
***************
*** 33,39 ****
  #include "x11term.h"
  #include "dispextern.h"
  #include "termchar.h"
! #if defined(USG) && ! defined(OS_386ix)
  #include <time.h>
  #else
  #include <sys/time.h>
--- 33,39 ----
  #include "x11term.h"
  #include "dispextern.h"
  #include "termchar.h"
! #if defined(USG) && ! defined(OS_386ix) && ! defined(IRIS_4D)
  #include <time.h>
  #else
  #include <sys/time.h>
*** x11term.c.~1~	Thu Oct 18 17:21:08 1990
--- x11term.c	Sat Oct 27 09:49:19 1990
***************
*** 38,44 ****
  
  #include "x11term.h"
  
! #if defined(USG) && ! defined(IBMRTAIX) && !defined(OS_386ix)
  #include <time.h>
  #else
  #include <sys/time.h>
--- 38,44 ----
  
  #include "x11term.h"
  
! #if defined(USG) && ! defined(IBMRTAIX) && !defined(OS_386ix) && !
defined(IRIS_4D)
  #include <time.h>
  #else
  #include <sys/time.h>
*** m-iris4d.h.orig	Tue Oct 16 11:45:44 1990
--- m-iris4d.h	Wed Oct 31 10:22:48 1990
***************
*** 197,199 ****
--- 197,211 ----
  #define XMARKBIT(a) ((a) < 0)
  #define XSETMARKBIT(a,b) ((a) = ((a) & ~MARKBIT) | ((b) ? MARKBIT :
0))
  #define XUNMARK(a) ((a) = (((unsigned)(a) <<
INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS))
+ 
+ /* for server */
+ #define HAVE_SYSVIPC
+ 
+ /* for Irix 3.3 and later, no longer need the -I/usr/include/bsd,
+    though it doesn't hurt. */
+ #undef C_SWITCH_MACHINE
+ #undef LIB_STANDARD
+ #define LIB_STANDARD -lsun -lc /usr/lib/crtn.o
+ 
+ /* Irix 3.3 defines this. I think it's neccessary for Epoch, too */
+ #define HAVE_GETWD
*** config.h-dist	Wed Oct 24 09:56:04 1990
--- config.h	Tue Oct 30 17:02:52 1990
***************
*** 23,29 ****
     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-sunos4.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
--- 23,29 ----
     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-iris3-6.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
***************
*** 30,36 ****
     the names of the m- files to use for them.
     See m-template.h for info on what m- files should define.
     */
! #include "m-sparc.h"
  
  /* Load in the conversion definitions if this system
     needs them and the source file being compiled has not
--- 30,36 ----
     the names of the m- files to use for them.
     See m-template.h for info on what m- files should define.
     */
! #include "m-iris4d.h"
  
  /* Load in the conversion definitions if this system
     needs them and the source file being compiled has not
***************
*** 164,166 ****
--- 164,170 ----
   */
  
  /* #define X_COMPOSE */
+ 
+ /* IRIS stuff */
+ #define C_DEBUG_SWITCH -O2
+ #define C_OPTIMIZE_SWITCH -O2


-- 
 Scott Henry <scotth@sgi.com> / Traveller on Dragon Wings
 Information Services,       / Help! My disclaimer is missing!
 Silicon Graphics, Inc      / Politicians no baka!