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