Ruby 1.9, OS X, command line: negative string size (ArgumentError)

Hello,

I’d like to get Ruby 1.9 working on OS X 10.5.6, but so far I get the
following error when trying to invoke any script:

$ ruby -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9.6.0]

$ ruby x.rb
ruby: negative string size (or size too big) (ArgumentError)

I tried two approaches to install ruby:

  1. through ports

  2. compiling with the following configure:

./configure --prefix=/Users/user1/dev/ruby19 --enable-shared --with-
readline-dir=/usr/local

Both yield the same result.

I couldn’t find similar case online, can anyone help?

Bests,

/B.

Does ruby -e “puts ‘hello worl’” give you the same error?


Pozdrawiam

Rados³aw Bu³at
http://radarek.jogger.pl - mój blog

Bartlomiej O. [email protected] writes:

$ ruby x.rb
ruby: negative string size (or size too big) (ArgumentError)

Could it be possible to see x.rb contents?

Bartlomiej O. [email protected] writes:

$ more x.rb
puts “hey!”

I’ve installed Ruby 1.9 via MacPorts (MacBook Pro and 10.5.6), and it
runs ok:

% ruby1.9 -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9]
% ruby1.9 -e “puts ‘hello world’”
hello world

Hello, in response to your questions:

$ ruby -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9.6.0]

$ ruby -e “puts ‘hello worl’”
ruby: negative string size (or size too big) (ArgumentError)

$ more x.rb
puts “hey!”

Actually the mac ports ruby gives me a different version:

$ ruby1.9 -v
ruby 1.9.0 (2008-07-25 revision 18217) [i686-darwin9]

Maybe I have a wrong package? I installed it today with:

$ sudo port install ruby19

Anyways the error is the same as with ruby which I compiled myself, even
though it introduces itself as revision 21907

Bartlomiej O. [email protected] writes:

$ ruby1.9 -v
ruby 1.9.0 (2008-07-25 revision 18217) [i686-darwin9]

Maybe I have a wrong package? I installed it today with:

$ sudo port install ruby19

I suggest:

  1. sudo port selfupdate
  2. sudo port upgrade ruby19

(and, maybe, “port outdated” if you’re using other ports).

On Sun, Mar 29, 2009 at 11:09 PM, Eric J. [email protected]
wrote:

I suggest:

  1. sudo port selfupdate
  2. sudo port upgrade ruby19

(and, maybe, “port outdated” if you’re using other ports).

1&2 succeded in bringing mac ports ruby to the same version:

$ ruby1.9 -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9]

Unfortunately the error remains:(

On Mon, Mar 30, 2009 at 12:09 AM, Eric J. [email protected]
wrote:

What about you environment? encoding, lang, etc. ?

Ok I found it

$ export
–cut–
declare -x LC_CTYPE=“UTF-8”

$ export -n LC_CTYPE

$ ruby -e “puts ‘hello world’”
hello world

Deleting LC_CTYPE did it.

That said I understand that this LC_CTYPE setting was there for a
reason,
presumably because my terminal is set to utf8, as it’s supposed to be.

So it’s not clear for me why ruby would now have problem with that, and
how
to proceed - should the setting for utf8 be defined somehow differently?

Bartlomiej O. [email protected] writes:

That said I understand that this LC_CTYPE setting was there for a reason,
presumably because my terminal is set to utf8, as it’s supposed to be.

So it’s not clear for me why ruby would now have problem with that, and how
to proceed - should the setting for utf8 be defined somehow
differently?

For my own, i don’t rely on LC_* variables. I’ve only set LANG
environment variable and pick UTF-8 in Terminal Preferences/Encoding

Bartlomiej O. [email protected] writes:

$ ruby1.9 -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9]

Unfortunately the error remains:(

What about you environment? encoding, lang, etc. ?

[email protected] (matt neuburg) writes:

I’ve got that LC_CTYPE setting because of svn, which will choke on
certain files if it isn’t there. I think the question of why Ruby 1.9
would have trouble with this is reasonable… m.

Agree. Unfortunately, i have not the answer.

Eric J. [email protected] wrote:

For my own, i don’t rely on LC_* variables. I’ve only set LANG
environment variable and pick UTF-8 in Terminal Preferences/Encoding

I’ve got that LC_CTYPE setting because of svn, which will choke on
certain files if it isn’t there. I think the question of why Ruby 1.9
would have trouble with this is reasonable… m.