Subject: Emacs fails to compile on AIX 5.3 with XL C 10.1, due to missing #define ADDR_CORRECT in unexaix.c; patch attached
From: Criveti Mihai <[email-masked]>
To: [email-masked]
Date: Tue, 17 Feb 2009 17:48:25 +0200

diff unexaix.c.old unexaix.c
60a61,63
> #undef ADDR_CORRECT
> #define ADDR_CORRECT(x) ((int)(x))
>

This error is corrected with the patch above:

cmihai@phobos:/home/cmihai/packaging/emacs-cvs/emacs$ gmake
boot=bootstrap-emacs;                         \
        if [ -x "src/$boot" ]; then boot=""; fi;                   \
        cd lib-src; gmake all                            \
          CC='xlc -q64' CFLAGS='-O3 -qnoansialias -brtl -bexpfull -I
/usr/local/ssl/include -I/usr/local/include -I/opt/freeware/include'
CPPFLAGS='-ma -qmaxmem=4000  ' \
          LDFLAGS='-L/usr/local/ssl/lib -L/usr/local/lib
-L/opt/freeware/lib -bbigtoc' MAKE='gmake' BOOTSTRAPEMACS="$boot"
gmake[1]: Entering directory `/home/cmihai/packaging/emacs-cvs/emacs/lib-src'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/home/cmihai/packaging/emacs-cvs/emacs/lib-src'
boot=bootstrap-emacs;                         \
        if [ -x "src/$boot" ]; then boot=""; fi;                   \
        cd src; gmake all                            \
          CC='xlc -q64' CFLAGS='-O3 -qnoansialias -brtl -bexpfull -I
/usr/local/ssl/include -I/usr/local/include -I/opt/freeware/include'
CPPFLAGS='-ma -qmaxmem=4000  ' \
          LDFLAGS='-L/usr/local/ssl/lib -L/usr/local/lib
-L/opt/freeware/lib -bbigtoc' MAKE='gmake' BOOTSTRAPEMACS="$boot"
gmake[1]: Entering directory `/home/cmihai/packaging/emacs-cvs/emacs/src'
echo "dispnew.o frame.o scroll.o xdisp.o menu.o  window.o charset.o
coding.o category.o ccl.o character.o chartab.o cm.o term.o terminal.o
xfaces.o    emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o
filelock.o insdel.o marker.o minibuf.o fileio.o dired.o filemode.o
cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o
data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o
print.o lread.o syntax.o unexaix.o bytecode.o process.o callproc.o
region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o
textprop.o composite.o md5.o     terminfo.o lastfile.o gmalloc.o
ralloc.o vm-limit.o  mktime.o getloadavg.o "  > buildobj.lst
xlc -q64  -Wl,-bnodelcsect  -L/usr/local/ssl/lib -L/usr/local/lib
-L/opt/freeware/lib -bbigtoc \
           -o temacs  dispnew.o frame.o scroll.o xdisp.o menu.o
window.o charset.o coding.o category.o ccl.o character.o chartab.o
cm.o term.o terminal.o xfaces.o    emacs.o keyboard.o macros.o
keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o
fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o
search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o
eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexaix.o
bytecode.o process.o callproc.o region-cache.o sound.o atimer.o
doprnt.o strftime.o intervals.o textprop.o composite.o md5.o
terminfo.o lastfile.o gmalloc.o ralloc.o vm-limit.o  mktime.o
getloadavg.o  \
                  -lrts -lIM -liconv -lbsd -lcurses   -lm
ld: 0711-317 ERROR: Undefined symbol: .ADDR_CORRECT
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake[1]: *** [temacs] Error 8
gmake[1]: Leaving directory `/home/cmihai/packaging/emacs-cvs/emacs/src'
gmake: *** [src] Error 2