Ruby 1.9.2 which Rhodes uses currently was released in 2011 and no longer officially supported. Recent versions include syntax improvements, bugs and security fixes etc. You can see changelog in Ruby github ( see version branches ): github.com/ruby/ruby/blob/ruby_2_3/NEWS
I think by the "Ruby Virtual Machine" you are referring to the built-in version of Ruby that is part of the Rhodes gem and which is embedded in the application and that will be eventually installed on the device. Please correct me if I am wrong.
What will then be the matching version of Ruby for this new version of Ruby VM that would be required to build an app (with rake, for example) and would Rhostudio install that matching Ruby version automatically (because, as I understand it, Rhostudio installer comes with Ruby also, and this is system Ruby, not Rhodes Ruby)
Post by Alex Epifanov on Mar 10, 2017 13:34:34 GMT
Yes you are correct, this is about embedded Ruby VM which runs with mobile app. As for build phase we have plans to migrate to new Ruby version as well ( 2.3 presumably ). For Windows RMS installer we bundle Ruby inside, but for Mac system- or user-installed Ruby is used ( via RVM for instance )
Thanks for your great work on rhodes framework! I have a question about the future upgrade to Ruby 2.3 : do you know if it will improve the Ruby execution performance? Besides, when would it be possible to test this new version (beta) and give you some feedback?
Yes, you should get a significant performance upgrade. I've switched to 2.3 for build and for a fairly extensive rake task I use before build quite some time ago. It is a very noticeable performance improvement.
Looking forward to using 2.3 inside of Rhodes now as well!
I tried to compile my app with the new 6.0.0.beta1 rhodes gem and I've got the following error :
[INFO] Running default.rb dyld: lazy symbol binding failed: Symbol not found: _clock_gettime Referenced from: /Users/louis/.rvm/gems/ruby-2.3.1/gems/rhodes-6.0.0.beta1/res/build-tools/RubyMac Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _clock_gettime Referenced from: /Users/louis/.rvm/gems/ruby-2.3.1/gems/rhodes-6.0.0.beta1/res/build-tools/RubyMac Expected in: /usr/lib/libSystem.B.dylib I found some threads that suggest this error could be linked to XCode. Do I need a special version of XCode (I currently have the 8.1) ?
Post by Dmitry Soldatenkov on May 29, 2017 15:49:30 GMT
I see in Internet the same issue in other products. Like this - github.com/Homebrew/homebrew-php/issues/3737 Can you try to upgrade to latest Sierra OS and latest XCode ? We also will investigate this issue and try to build our tool in old environemnt
Best regards, Dmitry A. Soldatenkov E-mail: email@example.com Skype: soldatenkoff
I tried with an up-to-date XCode (8.3.2) and i've got another error during android compilation :
/Users/louis/.rvm/gems/ruby-2.3.4/gems/rhodes-6.0.0.beta1/platform/android/../../platform/shared/ruby/signal.c: At top level: /Users/louis/.rvm/gems/ruby-2.3.4/gems/rhodes-6.0.0.beta1/platform/android/../../platform/shared/ruby/signal.c:28:22: fatal error: ucontext.h: No such file or directory #include <ucontext.h> ^ compilation terminated.