jove 4.12 on SCO Xenix 286 ?

Brandon S. Allbery allbery at ncoast.ORG
Fri Apr 14 08:41:55 AEST 1989


As quoted from <237 at libove.UUCP> by root at libove.UUCP (Jay M. Libove):
+---------------
| Has anyone gotten JOVE version 4.12 to compile on SCO Xenix 80286
| (version 2.2.1 just if it matters) ?
| 
| I have worked through a number of small things, and finally ended
| up with:
| 
| 	cc -O -LARGE -F 3000 -K -Ml2e -c io.c
| io.c
| /usr/include/sys/file.h(24) : error 25: `file' : enum/struct/union type redefinition
+---------------

Jove 4.12 is NOT directly portable to System V.  I'm still working on diffs.

The problem is that Jove uses a "struct file" internally, then #include's
<sys/file.h> -- which is the Berkeley version of what we call <fcntl.h>.
Under AT&T-derived Unixes, <sys/file.h> defines the kernel's struct file,
causing a collision.

Quick fix:

	#ifdef SYSV
	#include <fcntl.h>
	#define FREAD O_RDONLY	/* working from memory, here -- the actual */
	#define FWRITE O_WRONLY	/* BSD flag names may be different */
	#define FCREAT O_CREAT
	#else
	#include <sys/file.h>
	#endif

This isn't the only System V incompatibility, however.  I'll post my diffs
when they're complete; I'm still working on things like using SVR3 signal
handling to compensate for interruptable I/O where possible (a big win over
the SVR2 version when editing large files).  I'm also working in my modified
C-mode backspace code as an option controlled by both #define and variable.

++Brandon
-- 
Brandon S. Allbery, moderator of comp.sources.misc	     allbery at ncoast.org
uunet!hal.cwru.edu!ncoast!allbery		    ncoast!allbery at hal.cwru.edu
      Send comp.sources.misc submissions to comp-sources-misc@<backbone>
NCoast Public Access UN*X - (216) 781-6201, 300/1200/2400 baud, login: makeuser



More information about the Comp.unix.xenix mailing list