[gnu.emacs.bug] GNU Emacs 18.53 on IBM RT running AIX

tale@pawl.rpi.edu (David C Lawrence) (05/12/89)

Well, in helping one of my co-workers get Emacs up and running on his
RT, the following occurred:

===============================================================
        cc -O -Demacs  -I/usr/include -I/usr/include/bsd -Nn2000  -c x11term.c
"lisp.h", line 477: warning: NULL redefined
(This warning occured for a few files)
        cc -O -Demacs  -I/usr/include -I/usr/include/bsd -Nn2000  -c keyboard.c
Warning: function get_char() called _setjmp(); no intermediate optimization done.
(The _setjmp() also occurred a few times -- I imagine I would not have
seen the message if compiled with -g, but he wanted optimized.)
        cc -O -Demacs  -I/usr/include -I/usr/include/bsd -Nn2000  -c sysdep.c
"sysdep.c", line 783: s undefined
"sysdep.c", line 783: warning: struct/union or struct/union pointer required
"sysdep.c", line 784: warning: struct/union or struct/union pointer required
*** Error code 1
Stop.
(This seems to be a gen-u-ine bug (typo).  The patch follows.)
================================================================

There was additionally a message that eludes me right now which
mentioned three seperate routines (one of which I remember as
condition-case).  I think it had something to do with tail-recursion
or such but my memory is fuzzing on it right now.  It was just a
warning though.

Then the link editor crapped out on me because it couldn't find the
XMenu lib.  I edited it out of the xmakefile and then the linker
bombed on the X lib.  I found in m-ibmrt-aix.h where it decided that
XMenu and X were in LIBS_MACHINE.  I undid this in xmakefile because
it saved me a whole lot of grief over things that had dependencies on
config.h (it was slow going in the compiles ...).  He is running AIX
2.2.1 and hadn't uncommented the defines (I guess he never checked the
s- and m- (Adults only!) files when setting things up) for 2.2.1, but
even then we still would have had a problem on -lX.  Taking it out all
together didn't hurt anything.  I finally got a working Emacs 18.53
for him.

A suggestion: since window.c can't be compiled with -O and hftctl
needs to be compiled from /usr/lib/where-ever-it-was, couldn't a
simple #ifdef be put it ymakefile to handle those two cases;  ie, a
a make rule which didn't have C_OPTIMIZE_SWITCH, and a dependency?
Just a thought.

To summarize the real problems which existed, there were only two: the
inclusion of -lX and the typo which is fixed by the following patch.

*** /appl/life1/gnu/emacs/src/sysdep.c	Sun May  7 18:19:42 1989
--- /tmp/sysdep.c	Thu May 11 23:37:01 1989
***************
*** 791,798 ****
  	 don't ignore break, but don't signal either, so it looks like NUL.
  	 This really serves a purpose only if running in an XTERM window
  	 or via TELNET or the like, but does no harm elsewhere.  */
!       s.c_iflag &= ~IGNBRK;
!       s.c_iflag &= ~BRKINT;
  #endif
  #else /* if not HAVE_TERMIO */
  #ifdef VMS
--- 791,798 ----
  	 don't ignore break, but don't signal either, so it looks like NUL.
  	 This really serves a purpose only if running in an XTERM window
  	 or via TELNET or the like, but does no harm elsewhere.  */
!       sg.c_iflag &= ~IGNBRK;
!       sg.c_iflag &= ~BRKINT;
  #endif
  #else /* if not HAVE_TERMIO */
  #ifdef VMS

This is the "trailing garbage" that your patch(1) always warned you
about ...

Dave
--
      tale@rpitsmts.bitnet, tale%mts@itsgw.rpi.edu, tale@pawl.rpi.edu