Xref: utzoo comp.unix.aux:3110 comp.mail.mush:986 Path: utzoo!attcan!uunet!nih-csl!lhc!adm!cmcl2!rutgers!cs.utexas.edu!sun-barr!ccut!ascgw!fgw!mfd!spad!numa From: numa@sysrap.cs.fujitsu.co.jp (NUMATA Toshinori) Newsgroups: comp.unix.aux,comp.mail.mush Subject: Re: mush on A/UX Message-ID: <954@sysrap.sysrap.cs.fujitsu.co.jp> Date: 30 Oct 90 08:40:05 GMT References: <1990Oct26.200654.3815@nbc1.ge.com> Followup-To: comp.unix.aux Organization: Fujitsu Limited, Kawasaki, Japan Lines: 65 In article <1990Oct26.200654.3815@nbc1.ge.com>, rex@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 and in mush.h. On System V based systems (such as A/UX), O_* are defined in , but on BSD systems, these constants are defined in . I think developers of A/UX included O_* definitions in for BSD compatibility. If you don't like these warning messages, change the line 59 in mush.h from: #include to: #ifndef SYSV # include #endif > "./mush.h", line 218: illegal type combination The line 218 of mush.h is: typedef unsigned long u_long; Maybe your system's 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 ) and the type of oldint and oldquit are different pointer type. Please make sure your system's contains: extern void (*signal())(); If not so, change the option "-DSIGRET=void" to "-DSIGRET=int" in CFLAGS of your Makefile. -- NUMATA, Toshinori numa@sysrap.cs.fujitsu.co.jp or postmaster@sysrap.cs.fujitsu.co.jp Architechture Dept., Open Systems Development Group, FUJITSU LIMITED