Hmm.... the addition of "--framework Foundation" should prevent this and ensure that the Obj-C runtime is initialised. Can you confirm that your compile includes this flag? (it should be added automatically for the darwin platform by the appropriate section in extconf.rb - james On 1/29/06, tsuraan <tsuraan / gmail.com> wrote: > Trying this, I get > > objc: failed objc_getClass(NSObject) for GLUTApplication->isa->isa > objc: please link appropriate classes in your program > Trace/BPT trap > > I cleaned out the old opengl.bundle and glut.bundle and re-built the > bindings from the new package. I have no idea what this error means, > so any tips would be appreciated :) I do have the GLUT.framework and > X-Code installed, so I think I'm good there. > > > On 28/01/06, James Adam <james.adam / gmail.com> wrote: > > In case anyone needs this, I've uploaded my tweaked version of the > > latest rb-opengl bindings to: > > > > http://www.lazyatom.com/software/opengl-0.32g.tar.gz > > > > You'll need the Developer Tools and probably the GLUT source from > > Apple already installed. Here's the README: > > > > 2005-04-26 :: James Adam <james / lazyatom.com> > > 2006-01-28 :: (Updated to rb-opengl-0.32g) > > > > Ruby-OpenGL Bindings for Mac OS X > > ================================= > > > > So basically here's a tweaked version of the original OpenGL module > > for the Mac. To compile, just follow the same instructions as normal: > > > > Build it - don't worry too much about any warnings: > > $ ruby extconf.rb > > $ make > > > > Test it out: > > $ ruby sample/robot.rb > > (press the 'e' and 's' keys to make the "robot" move...) > > > > Install it: > > $ make install > > (or possibly "sudo make install", depending on where your ruby is) > > > > > > > > Changes I've made > > ----------------- > > > > extconf.rb: > > Added -framework flags and correct include directories > > Hacked to generate GLUT module even without detection of -lGLUT, since > > mkmf can't deal with the Mac GLUT framework > > > > *.c: > > Edited #includes to use <OpenGL/gl.h> and <GLUT/glut.h> > > > > glut.c: > > I've added the function CheckLoop to the GLUT module in line with the > > same function in Apple's GLUT. GLUT's MainLoop is blocking and forces > > you to perform additoinal processing using GLUT's IdleFunc system, > > which can sometimes be very undesirable (particularly if you are using > > Ruby as the glue between two libraries which both feature this type of > > loop). CheckLoop allows you to cycle through a *single* GLUT > > processing loop, and then returns control to the calling > > thread/process. Thus, by periodically calling CheckLoop, you can get > > the scene to update without having GLUT seize control of the whole > > application. > > > > I've also added calls for Glut.GameModeString(mode_string) and > > Glut.EnterGameMode(), allowing you to switch your application to > > fullscreen. > > > > Finally, a new method GLUT.BitmapCharacterX(char) for displaying > > characters, since there seems to be a problem with the default > > GLUT.BitmapCharacter method. > > > > > > Problems > > -------- > > > > For some reason, including the libraries from the command line fails. > > For instance: > > > > $ irb > > irb(main):001:0> require 'opengl'; require 'glut' > > => true > > > > ... works fine, but: > > > > $ irb -r opengl > > /usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin8.0.0/opengl.bundle: > > [BUG] Bus Error > > ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0.0] > > > > Abort trap > > > > ... clearly fails. You can see the discussion of this problem > > (something unfortunately inherent with IRB on the mac) here: > > > > http://ruby-talk.org/cgi-bin/scat.rb/~poffice/news2/comp.lang.ruby/23917 > > > > Or the quick fix, detailed here: > > > > http://ruby-talk.org/cgi-bin/scat.rb/~poffice/news2/comp.lang.ruby/24004 > > > > > >