Lyle Johnson
2/3/2007 3:00:00 PM
On 2/2/07, Zane <zcvohland@gmail.com> wrote:
> I have spent a couple of days trying to get the Fox GUI library to
> interact with ruby. Now I think I am getting close. Before I go on to
> explain my problem here is some information that may be necessary...
<snip>
> Software Versions:
> ----------------------
> Ruby 1.8.1
Just curious: Why still running Ruby 1.8.1?
> FXRuby 1.6.5
> Fox 1.6.21
> RubyGems 0.9.1
>
> Fox and FXRuby, when compiled they say they compiled succesfully, I have
> also recompiled FXRuby with RubyGems, all being successful. I then go
> into irb and type require 'fox16' and I get this message returned:
>
> /sw/lib/ruby/site_ruby/1.8/powerpc-darwin/fox16.bundle: [BUG] Bus Error
> ruby 1.8.1 (2003-12-25) [powerpc-darwin]
> Abort trap
OK, that's bad. When I say that's bad, I mean, I don't recall ever
seeing ruby outright *crash* when trying to load FXRuby. It's more
common to see, for example, a failure to find one of the shared
libraries that FXRuby needs, but the error message in that case is
more descriptive than a simple "Bus Error".
> When I try require 'fox' in irb I get this message:
>
> LoadError: No such file to load -- fox
> from (irb):1:in `require'
> from (irb):1
>
> But I take it that as long as I can get fox16 working then this won't be
> a problem.
Yeah, that's OK. The feature name that you should be trying to require
is 'fox16'.
> I have trawled through website after website trying to find a fix to
> this problem or some helpful information... I have have read a heap of
> FXRuby documentation and some Ruby Documentation.
Thank you for doing all of that research on your own first. Like I
said, this is a new one to me, so you aren't going to find anything
about it in the FXRuby documentation.
> P.S: Here is a copy of what is writen to ruby1.8.crash.log:
<snip>
I scanned the stack trace, and it looks like the FXRuby code was
trying to call an internal Ruby function (st_lookup) when it failed. I
have a hunch that that interface has changed a bit since Ruby 1.8.1
(which is several years old now).
My advice is to upgrade to the most recent version of Ruby (1.8.5),
and then recompile FXRuby and try again. You shouldn't need to
recompile FOX -- just zap your FXRuby build directory and recompile
that part.
Good luck,
Lyle