Hello,
I’ve found errors on AIX 4.3.3 :
-A) Compiler errors :
-1) ext/cursor.c lines 512 et 1201 : The lines et columns parameters are
macros defined in <term.h>. So you have to rename thoses parameters.
-2) ext/readline.c line 13 : <unistd.h> includes some 64 bits features
if the configuration program set the macro __LARGE_FILES. So, if you don’t
use 64 bits file acces you have to add “#undef __LARGE_FILES” in line 13
just before #include <unistd.h>
-B) Linker errors :
-1) If you compile with gcc 295 and perhaps olders, you can have link
errors with the assert which are used in ext/digest/rmd160/rmd160.c,
rmd160hl.c; ext/digest/sha?/sha?.c, sha?hl.c. I have undefined the use of
assert in thoses files but good hacker can find an elegant patch !. With gcc
320 you have not thoses problems. So gcc users on AIX 4.3 should used gcc
320 compiler !
-2) Configuration program set LDFLAGS = ${CFLAGS} -brtl. This is an
error. The correct parameter is -Wl,-brtl. gcc 295 don’t use -brtl because
it is not OK but gcc 320 abort with the message libgcc.a not found. But in
fact you don’t need the -brtl if you build a ruby static version. If you use
the -Wl,-brtl option ruby will fail during load of dynamic modules. For
instance the Guy Decoux bdb.so extension.
Philippe Lucas