env-js icon indicating copy to clipboard operation
env-js copied to clipboard

Does it works with Ruby 1.9 and V8 on Linux box ?

Open falaise opened this issue 14 years ago • 1 comments

Hello,

I try to write a little script with Ruby on a Linux Fedora 64 bits box. I am using the gem 'therubyracer-heroku-0.8.1' for the V8 machine because the gem 'therubyracer' fails to compile on 64 bits with gcc RedHat 4.5.1.

So, in my script, i load the 'envjs/rubyracer.rb' and it success with Ruby 1.8.7 but fails with Ruby 1.9.2 for two reasons :

-1) 'configure_context' method fails for compatibility reason on 'eval'. Just add to_s method to the parameter of 'eval'. -2) Exception raised with that stack :

:-1: Uncaught TypeError: Cannot convert object to primitive value

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:118:in block in v8': undefined methodSetHiddenValue' for # (NoMethodError) ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:117:in tap' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:117:inv8' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:111:in block (2 levels) in v8' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:110:ineach' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:110:in block in v8' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:109:intap' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:109:in v8' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:19:inblock (2 levels) in []=' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:75:in block in open' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:79:inenter' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:74:in open' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:18:inblock in []=' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:17:in tap' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:17:in[]=' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:58:in []=' envjs/rubyracer.rb:47:inconfigure_context' from ./go.sh:7:in load' from ./go.sh:7:in'

Any idea ?

Regards.

falaise avatar May 09 '11 09:05 falaise

I'm not a very skilled ruby developer so I'm going to have to punt and ask around. Fortunately the ruby platform bridge code is very small so I should be able to determine if it's an issue particular to envjs or therubyracer. My current free cycles are pretty slim so if you find out first let me know! Thanks for the post.

Thatcher

On Mon, May 9, 2011 at 5:34 AM, falaise < [email protected]>wrote:

Hello,

I try to write a little script with Ruby on a Linux Fedora 64 bits box. I am using the gem 'therubyracer-heroku-0.8.1' for the V8 machine because the gem 'therubyracer' fails to compile on 64 bits with gcc RedHat 4.5.1.

So, in my script, i load the 'envjs/rubyracer.rb' and it success with Ruby 1.8.7 but fails with Ruby 1.9.2 for two reasons :

-1) 'configure_context' method fails for compatibility reason on 'eval'. Just add to_s method to the parameter of 'eval'. -2) Exception raised with that stack :

:-1: Uncaught TypeError: Cannot convert object to primitive value

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:118:in block in v8': undefined methodSetHiddenValue' for # (NoMethodError) ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:117:in tap'

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:117:inv8' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:111:in block (2 levels) in v8'

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:110:ineach' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:110:in block in v8'

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:109:intap' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:109:in v8' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:19:inblock (2 levels) in []=' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:75:in block in open'

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:79:inenter' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:74:in open' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:18:inblock in []=' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:17:in tap'

ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:17:in[]=' ruby-192p136/lib/ruby/gems/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:58:in []=' envjs/rubyracer.rb:47:inconfigure_context' from ./go.sh:7:in load' from ./go.sh:7:in'

Any idea ?

Regards.

Reply to this email directly or view it on GitHub: https://github.com/thatcher/env-js/issues/33

Christopher Thatcher

thatcher avatar May 10 '11 01:05 thatcher