RubyCocoa on MacOS X Tiger

There isn't a RubyCocoa package available for Tiger yet. This wouldn't be much of a problem except the package for Panther is (rightfully so) compiled against Ruby 1.6. It works, but not with 1.8 stuff. Obviously compiling it is in order.

...except compiling RubyCocoa from source fails when the config step reaches the wrapper generator:

cd src/objc/cocoa; ruby gen_cocoa_wrapper.rb
/usr/include/stdarg.h:4: inclusion of /usr/include/stdarg.h nested too deep
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:65: undefined type, found `va_list'
cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode
NSObjCRuntime.h
/usr/include/stdarg.h:4: inclusion of /usr/include/stdarg.h nested too deep
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:65: undefined type, found `va_list'
cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode
NSAffineTransform.h

This continues ad nauseam until it reaches NSObjCRuntime.h:65, and then it just... stops. I ran it again with the debugger and found that by breaking and hitting continue (c), it did continue. This happens several more times.

I don't know the Ruby debugger well enough to do an analysis more detailed than that, but there's more. 'setup' and 'install' seem to work, except that when you run a RubyCocoa app it says:

dyld: lazy symbol binding failed: Symbol not found: _init_AppKit
   Referenced from: /Library/Frameworks/RubyCocoa.framework/Versions/A/RubyCocoa
   Expected in: flat namespace

dyld: Symbol not found: _init_AppKit
   Referenced from: /Library/Frameworks/RubyCocoa.framework/Versions/A/RubyCocoa
   Expected in: flat namespace

And promptly exits due to a SIGTRAP.

Rummaging around in RubyCocoa.framework's code, I found an external reference to init_AppKit(). My C skills are fairly limited (and Obj-C for that matter, hence my interest in RC). So.. the wrapper generator failed to grab this, maybe? Maybe more?

Has anyone managed to get RubyCocoa to successfully compile and work on Tiger?

j.m

Joseph Michaels wrote:

There isn't a RubyCocoa package available for Tiger yet. This
wouldn't be much of a problem except the package for Panther is
(rightfully so) compiled against Ruby 1.6. It works, but not with 1.8
stuff. Obviously compiling it is in order.

..except compiling RubyCocoa from source fails when the config step
reaches the wrapper generator:

....Snip...

Has anyone managed to get RubyCocoa to successfully compile and work
on Tiger?

j.m

Not much help for you I guess, but RubyCocoa compiled and installed
fine on my clean install of Tiger. Got a couple of warnings, but
nothing serious.

AlexG