Failure in irb with rubycocoa (MAC OS X)

Hi there,

after installing RubyCocoa on Mac OS X i tried the first steps with it
in irb:

That's what happened

require 'osx/cocoa'

/usr/lib/ruby/site_ruby/1.8/powerpc-darwin8.0/rubycocoa.bundle: [BUG]
Bus Error
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

Abort trap

Does anybody had the same probs or is it just because my machine is too
old :wink:
I remember bus errors very well from C++

Whats happening here? Does anybody know the answer and can help me?

Kind regards
norman

Hi,

路路路

On Nov 17, 2006, at 2:05 AM, normanrosner@googlemail.com wrote:

Hi there,

after installing RubyCocoa on Mac OS X i tried the first steps with it
in irb:

That's what happened

require 'osx/cocoa'

/usr/lib/ruby/site_ruby/1.8/powerpc-darwin8.0/rubycocoa.bundle: [BUG]
Bus Error
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

Abort trap

I believe this was a Ruby bug that has been fixed in 1.8.5, so you should consider upgrading your Ruby distribution (1.8.2 is a bit old anyway).

HTH,
Laurent

The first thing you should do is upgrading ruby: 1.8.2 is quite old.
You can follow the Mac OS X instructions here:

That URL is even referenced by developer.apple.com.

Anyway, under Cocoa SIGBUS is usually received when something tries to send messages to an object which has already been released.
The following Objective C code:
  [myObject release];
  [myObject someMessage];
is likely to produce a Bus Error signal (as long as nothing else retains myObject).

So, if upgrading ruby doesn't actually fix the problem, there could be a bug of this kind within rubycocoa.
(Finally Apple will release Objective C 2.0 with garbage collector along with Leopard! :))

路路路

On 17/nov/06, at 02:05, normanrosner@googlemail.com wrote:

That's what happened

require 'osx/cocoa'

/usr/lib/ruby/site_ruby/1.8/powerpc-darwin8.0/rubycocoa.bundle: [BUG]
Bus Error
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

--
Gabriele Marrone

Gabriele Marrone wrote:

路路路

On 17/nov/06, at 02:05, normanrosner@googlemail.com wrote:

> That's what happened
>>> require 'osx/cocoa'
> /usr/lib/ruby/site_ruby/1.8/powerpc-darwin8.0/rubycocoa.bundle: [BUG]
> Bus Error
> ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

The first thing you should do is upgrading ruby: 1.8.2 is quite old.
You can follow the Mac OS X instructions here:
Dan Benjamin
That URL is even referenced by developer.apple.com.

I've already installed the latest version of ruby in /usr/local/bin but
"my ruby" with Rubycocoa doesn't work. So i tried the internal ruby. Or
should i just overwrite the internal ruby? Is that possible at least ?
:slight_smile:

Did you install the binaries from the .dmg? I don't know whether it looks for ruby in /usr/bin or /usr/local/bin.
Anyway, it could be a RubyCocoa bug. Are you sure you're using the latest version?
Try downloading the latest stable version from SVN:

   svn co RubyCocoa download | SourceForge.net rubycocoa

Then you can compile and install it by typing:

   ruby install.rb config
   ruby install.rb setup
   sudo ruby install.rb install

within the rubycocoa/src/ directory. Config should use --prefix=/usr/local by default.
If you don't have svn, look here: http://metissian.com/projects/macosx/subversion/ (I had the fink version installed, but I think it was broken, I wasn't able to install https support no matter how I tried. Maybe they fixed it now, I don't really know).

路路路

On 17/nov/06, at 20:25, jeckyll wrote:

I've already installed the latest version of ruby in /usr/local/bin but
"my ruby" with Rubycocoa doesn't work. So i tried the internal ruby. Or
should i just overwrite the internal ruby? Is that possible at least ?
:slight_smile:

--
Gabriele Marrone

Of course it's possible, but it's likely to be a bad idea. Among other reasons or other MacOSX software may expect Apple's original installation to be there and some future Apple OS upgrade may want to modify or add to the builtin ruby. As a general rule, you should leave the Apple-installed unix utilities alone. Just install your own in /usr/local and make sure your PATH is set so that commands you issue use the /usr/local versions preferentially.

There's no reason I'm aware of that your own ruby installation (in /usr/local, or elsewhere) shouldn't work.

Tom

路路路

On Nov 17, 2006, at 2:25 PM, jeckyll wrote:

I've already installed the latest version of ruby in /usr/local/bin but
"my ruby" with Rubycocoa doesn't work. So i tried the internal ruby. Or
should i just overwrite the internal ruby? Is that possible at least ?

Tom Pollard wrote:

路路路

On Nov 17, 2006, at 2:25 PM, jeckyll wrote:
> I've already installed the latest version of ruby in /usr/local/bin
> but
> "my ruby" with Rubycocoa doesn't work. So i tried the internal
> ruby. Or
> should i just overwrite the internal ruby? Is that possible at least ?

Of course it's possible, but it's likely to be a bad idea. Among
other reasons or other MacOSX software may expect Apple's original
installation to be there and some future Apple OS upgrade may want to
modify or add to the builtin ruby. As a general rule, you should
leave the Apple-installed unix utilities alone. Just install your
own in /usr/local and make sure your PATH is set so that commands you
issue use the /usr/local versions preferentially.

There's no reason I'm aware of that your own ruby installation (in /
usr/local, or elsewhere) shouldn't work.

Tom

Hi Tom,

so my ruby-installation works fine in /usr/local/ but it doesn't work
with rubycocoa.
Maybey i should install rubycocoa in /usr/local/ too with prefix
config?

norm

Yes, that's how you should install modules that you want to use with your /usr/local ruby installation. I'm not familiar with RubyCocoa, unfortunately. For most modules, you should just need to go through the usual installation procedure, but use /usr/local/bin/ruby instead of Apple's ruby.

Tom

路路路

On Nov 20, 2006, at 10:14 AM, jeckyll wrote:

so my ruby-installation works fine in /usr/local/ but it doesn't work
with rubycocoa.
Maybey i should install rubycocoa in /usr/local/ too with prefix
config?