| Ruby on AIX HOWTO | ||
|---|---|---|
| Prev | ||
It took a lot of effort to coax Ruby to build on AIX and several iterations of the build process had to be completed before I could use Ruby Gems and some of the modules (particularly Net::SSH). However, the above procedure has worked several times on my environment so it should work on yours if you have the requisites.
Ruby fails to build with an IO Trap and Abort in the dl extension.
There is another Ruby already installed in your
--prefix=/ruby/install/path
parameter to configure. I've noticed that if you are
planning on installing on top of a pre-existing Ruby or you are simply
trying to recompile the same binary, the miniruby command
(from the build process) inadvertently reads the libraries out of the path
specified in --prefix. Simply move your old
Ruby installation out of the way for the duration of the build, or remove it
completely if you are going to re-install.
Ruby on AIX 5.1 fails to compile with undefined symbols
.CMSG_LEN and .CMSG_SPACE.
You did not define CPPFLAGS to use
-D _LINUX_SOURCE_COMPAT. On AIX 5.1 there
are #ifdef statements for handling Linux source code in
the header files. The macros will be included in the compile process if
the CPPFLAGS is defined correctly.
Ruby programs using the TK extension don't work.
The current version of TCL/TK on IBM's AIX Toolbox for Linux is
TCL/TK 8.3.3, but TCL/TK 8.4.X is required for Ruby. I wanted to limit the
Ruby build instructions on AIX to software that is easily installable from either
installp or rpm. This keeps the
HOWTO focused on dealing with the Ruby build and the immediate requirements to get
it functional. When IBM releases a pre-compiled TCL/TK 8.4.X RPM I'll update the
HOWTO to include support for it in the configure command
section. If you are intent on getting it working right now, I
would assume that one could compile TCL/TK 8.4.X manually
and point to the TCL/TK install from configure with the
option --with-tk-dir=/path/to/tk.