Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIX Build #17

Open
lm8 opened this issue May 5, 2022 · 3 comments
Open

AIX Build #17

lm8 opened this issue May 5, 2022 · 3 comments
Labels
help wanted Extra attention is needed

Comments

@lm8
Copy link

lm8 commented May 5, 2022

Was reading the documentation and it says grief builds on AIX, so I thought I'd give it a try. I'm using AIX 7.2. I use the AIX Toolbox utilities including GNU gcc and related GNU build tools.

Tried running auto/configure. Got the error:
configure: error: cannot find sources (include/edheaders.h) in auto or ..

Ended up having to run support/config_withncurses instead.

First error I hit was in edendian.h.
Error message was:
In file included from bsd_endian.h:30,
from bsd_cdbr.c:54:
/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/include/edendian.h:104:2: error: #error BYTE_ORDER and HIST_XXX_ENDIAN differ ...
#error BYTE_ORDER and HIST_XXX_ENDIAN differ ...
^~~~~

I don't see a place where HOST_BIG__ENDIAN is set in the grief code and I don't see it set in the AIX include files either.
Worked around that.

Next error I hit was:

charseticonv.c: In function 'dlmod_error':
charseticonv.c:691:28: error: 'L_GETMESSAGE' undeclared (first use in this function); did you mean 'L_GETMESSAGES'?
if ((n = loadquery(L_GETMESSAGE, msgs, sizeof(msgs))) > 0) {
^~~~~~~~~~~~
L_GETMESSAGES
charseticonv.c:691:28: note: each undeclared identifier is reported only once for each function it appears in
charseticonv.c:694:19: warning: implicit declaration of function 'strpush'; did you mean 'r_push'? [-Wimplicit-function-declaration]
len = strpush(0, buffer, "dlopen: ");
^~~~~~~
r_push

I commented out the AIX specific loadquery related code and it compiled.

Hit the following error message:
libtool --mode=compile gcc -DMODULE_LOADABLE --param max-inline-insns-single=1200 -pthread -O1 -DNDEBUG -I. -I/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/include -DHAVE_CONFIG_H -o /home/michaelsl/opt/src/grief/aix32/tmp/grief-master/objects.gcc/release/libchartable/cxCP932.lo -c cnvtables/cxCP932.c
/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/libtool: line 900: print: command not found
/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/libtool: line 900: print: command not found
/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/libtool: line 971: print: command not found
/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/libtool: line 973: print: command not found
/home/michaelsl/opt/src/grief/aix32/tmp/grief-master/libtool: line 907: print: command not found
make[3]: *** [Makefile:215: cxCP932.lo] Error 1

Not sure how to proceed from there.

Would be nice to get this running on AIX, but I'm not having much luck so far.

I did get the latest grief code to build using an older version of MinGW from mingw.org on Windows. However, I did have to make some modifications to the code to get it to compile. It didn't work out of the box. I think the biggest issue for MinGW was that a lot of the code in libw32 checks for _MSC_VER or WATCOMC. MinGW doesn't set _MSC_VER and it's not Watcom, so it doesn't include that code. Defined a dummy _MSV_VER as a work-around, but there are some areas where that doesn't work and I have to #undef _MSC_VER again.

Just wanted to let you know my results trying to build the latest version of grief on a few platforms.

@adamyg
Copy link
Owner

adamyg commented May 25, 2022

It has been several years since Ive had access to a AIX host; are you aware of any public build hosts/farms?
Windows MSVC, OWC, Cygwin and now MingW32/64 targets build; see github actions.

edendian.h: HOST_BIG__ENDIAN. should be HOST_BIG_ENDIAN

@adamyg adamyg added the help wanted Extra attention is needed label May 6, 2024
@adamyg
Copy link
Owner

adamyg commented Jun 11, 2024

Mingw32/64 builds are now integrated; see workflows
./configure upgrades plus improved INSTALL notes; more are staged.

@adamyg
Copy link
Owner

adamyg commented Jul 17, 2024

several endian portability improvements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants