mush on A/UX

NUMATA Toshinori numa at sysrap.cs.fujitsu.co.jp
Tue Oct 30 19:40:05 AEST 1990


In article <1990Oct26.200654.3815 at nbc1.ge.com>,
	rex at nbc1.ge.com (Rex Espiritu) says:
> I read through some articles regarding installing mush (we have v6.5)
> and was wondering if anyone has been successful at this.  I'd appreciate
> any assistance.  I used the makefile.sys.v and came up with the following
> so far...

I am not familiar with A/UX, but I have experiences of installing mush
on System V based systems, so the following may help...

> % make
> 	cc -O -DSYSV -DCURSES -DREGCMP -DUSG -DSIGRET=void -c commands.c
> /usr/include/sys/file.h: 100: O_RDONLY redefined
[error messages deleted]

These "O_* redefined" messages are generated because you have included
both <fcntl.h> and <sys/file.h> in mush.h.  On System V based systems
(such as A/UX), O_* are defined in <fnctl.h>, but on BSD systems, these
constants are defined in <sys/file.h>.  I think developers of A/UX
included O_* definitions in <sys/file.h> for BSD compatibility.  If you
don't like these warning messages, change the line 59 in mush.h from:

#include <sys/file.h>

to:

#ifndef SYSV
#    include <sys/file.h>
#endif


> "./mush.h", line 218: illegal type combination

The line 218 of mush.h is:

typedef unsigned long	u_long;

Maybe your system's <sys/types.h> has the same typedef (for BSD
compatibility, again).  If so, you should comment out that typedef in
mush.h.


> "commands.c", line 263: warning: illegal pointer combination, op =
> "commands.c", line 263: warning: illegal pointer combination, op =

The line 263 of commands.c contains:

	on_intr();

which is a macro defined in mush.h.  In this macro, there are two
assignment expressions which assign return values of signal() system
call into variables oldint and oldquit.  The warning messages say that
the returned value of signal() (which is defined in <signal.h>) and the
type of oldint and oldquit are different pointer type.  Please make sure
your system's <signal.h> contains:

extern void (*signal())();

If not so, change the option "-DSIGRET=void" to "-DSIGRET=int" in CFLAGS
of your Makefile.
-- 
NUMATA, Toshinori		numa at sysrap.cs.fujitsu.co.jp  or
				postmaster at sysrap.cs.fujitsu.co.jp

Architechture Dept., Open Systems Development Group, FUJITSU LIMITED



More information about the Comp.unix.aux mailing list