From: Conrad Schneiker Date: 2001-05-07T15:26:28+09:00 Subject: [ruby-talk:14753] Re: Ruby on AIX? Sean Rusell wrote: Sean Rusell wrote: # So I tried to compile Ruby on the AIX box, and got all the way # through with no errors to the miniruby link: # # ld: 0711-317 ERROR: Undefined symbol: .ISDIGIT # # I installed GCC and tried again, with exactly the same results. I # tried configuring with a static build, but got the same problem. I # *know* that the ISDIGIT macro is defined in the regex source, and I # know that code is being built and included. # # My only other option at this point is to install a cross-compiler on # my Linux box, which I'll admit I'm not looking forward to. # # 'uname -a' on the AIX box returns: # AIX sv3 3 4 005118144C00 # The box is an IBM RS/6000 machine (powerpc-ibm-aix4.3.2.0) # I'm trying to build Ruby 1.6.3 # I have access to both cc (C for AIX Compiler, Version 5) and to gcc (2.95.3 # 20010315). I just tried this and got a similar result, except that I also saw these warning/error messages preceding the reported one: "eval.c", line 41.1: 1506-224 (W) Incorrect #pragma ignored. "gc.c", line 50.1: 1506-224 (W) Incorrect #pragma ignored. "config.h", line 2.9: 1506-236 (W) Macro name _ALL_SOURCE has been redefined. "config.h", line 2.9: 1506-358 (I) "_ALL_SOURCE" is defined on line 111 of /usr/include/standards.h. And also the this message following the reported one: ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. The warnings from eval.c and gc.c did not occur for Ruby 1.6.2. It appears to be a result of the following additions: #ifdef _AIX #pragma alloca #endif which however did not cause warnings in dln.c (which file seems to be the source of the undefined symbol; see below). Per the last (ld) error message above, the -bloadmap loadmap shows (near the end): ld: 0711-318 ERROR: Undefined symbols were found. The following symbols are in error: Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object} RLD: Address Section Rld-type Referencing Symbol ---------------------------------------------------------------------------------------------- .ISDIGIT [235] ER PR dln.c(libruby.a[dln.o]) 000005dc .text R_RBR [105] <.aix_loaderror> 0000061c .text R_RBR [105] <.aix_loaderror> ER: The return code is 8. Conrad Schneiker (This note is unofficial and subject to improvement without notice.)