|
Post by louisatome on Jun 1, 2017 13:29:59 GMT
I use the version r9b.
|
|
|
Post by Alex Epifanov on Jun 1, 2017 13:31:15 GMT
This one is really old. Please try the latest one.
|
|
|
Post by louisatome on Jun 1, 2017 15:09:05 GMT
I've updated my NDK to the latest one (r14b). I can now compile my project but when I try to launch it on my test device, I've got the following error :
06-01 16:44:16.660 12260 12309 I APP : E 06/01/2017 16:44:16:660 00003015 RhoRuby| require_compiled: error: can not find io/nonblock 06-01 16:44:16.661 12260 12309 I APP : E 06/01/2017 16:44:16:661 00003015 >DEBUG<| Ruby error: 06-01 16:44:16.661 12260 12309 I APP : no such file to load -- io/nonblock 06-01 16:44:16.662 12260 12309 I APP : E 06/01/2017 16:44:16:662 00003015 >DEBUG<| Trace: 06-01 16:44:16.664 12260 12309 I APP : I 06/01/2017 16:44:16:664 00003015 APP| Application initialize failed: #<LoadError: no such file to load -- io/nonblock>;Trace: lib/openssl/ssl.rb:14:in `require' 06-01 16:44:16.664 12260 12309 I APP : lib/openssl/ssl.rb:14:in `<main>' 06-01 16:44:16.664 12260 12309 I APP : lib/openssl.rb:21:in `eval' 06-01 16:44:16.664 12260 12309 I APP : lib/openssl.rb:21:in `require' 06-01 16:44:16.664 12260 12309 I APP : lib/openssl.rb:21:in `<main>' 06-01 16:44:16.664 12260 12309 I APP : lib/eve_core/com/server_eve_client.rb:3:in `eval' The error base line is a require 'openssl'.
In addition, I've tried to launch my project with XCode on iOS device and on start, it raises the _clock_gettime error :
Incident Identifier: 266C5833-FC27-4437-A217-4341AF7A2EBA CrashReporter Key: 88b8035361365b78df6cf5352b4c92525f847b90 Hardware Model: iPhone4,1 Process: rhorunner [4301] Path: /private/var/containers/Bundle/Application/DBF97825-99BD-47C3-ABCA-6353335F4CBF/rhorunner.app/rhorunner Identifier: com.XX.XX Version: 0.28.0 (0.28.0) Code Type: ARM (Native) Parent Process: launchd [1]
Date/Time: 2017-06-01 15:56:13.13 +0200 Launch Time: 2017-06-01 15:56:11.11 +0200 OS Version: iOS 9.3.5 (13G36) Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe Triggered by Thread: 11
Filtered syslog: None found
Dyld Error Message: Dyld Message: Symbol not found: _clock_gettime Referenced from: /var/containers/Bundle/Application/DBF97825-99BD-47C3-ABCA-6353335F4CBF/rhorunner.app/rhorunner Expected in: dyld shared cache Dyld Version: 390.7
My device is pretty old (iPhone 4S with ios 9.3) so it may be the cause?
Thanks,
Louis
|
|
|
Post by Alex Epifanov on Jun 2, 2017 10:04:31 GMT
We found some issues with IO module. This will be fixed in the next beta. BTW do you have your app's code available on github or somewhere else? We could make some tests with it.
|
|
|
Post by louisatome on Jun 2, 2017 14:44:55 GMT
OK thanks we'll wait the next version. Sorry but our code isn't on GitHub.
|
|
|
Post by Alex Epifanov on Jun 19, 2017 9:11:05 GMT
|
|
|
Post by louisatome on Jul 13, 2017 10:09:18 GMT
Hello,
I've tried with the new beta4 version. On android I've got new errors during runtime : First, I've got an error about unknown constant Socket::TCP_NODELAY I use in my code. So I remove the use of that constant and then the following exception raised :
I/APP (11286): E 07/13/2017 11:02:07:315 00002c73 EVE ERROR| Exception during create_client : [NoMethodError] undefined method `connect_nonblock' for #<Socket:fd 95> I/APP (11286): E 07/13/2017 11:02:07:316 00002c73 EVE ERROR| Backtrace : lib/eve_core/com/server_eve_client.rb:200:in `create_client' I/APP (11286): lib/eve_core/com/server_eve_client.rb:157:in `open_close_server_socket' I/APP (11286): lib/eve_core/com/server_eve_client.rb:78:in `initialize' I/APP (11286): lib/eve_core/eve_core.rb:31:in `initialize' I/APP (11286): apps/app/rhodes_application.rb:34:in `init_eve_core' I/APP (11286): lib/rhodes-util/app/base_rhodes_application.rb:58:in `initialize' I/APP (11286): apps/app/rhodes_application.rb:24:in `initialize' I/APP (11286): apps/app/application.rb:30:in `new' I/APP (11286): apps/app/application.rb:30:in `initialize' I/APP (11286): lib/rho/rho.rb:204:in `new' I/APP (11286): lib/rho/rho.rb:204:in `get_app' I/APP (11286): lib/rho/rho.rb:128:in `init_app'
And on iOS, I've got the same error about the _clock_gettime.
Louis
|
|
|
Post by Alex Epifanov on Jul 14, 2017 15:11:14 GMT
we are investigating the issue. Is it an option for you to use blocking 'connect' as a workaround?
|
|
|
Post by Alex Epifanov on Aug 10, 2017 5:07:57 GMT
|
|
|
Post by louisatome on Nov 17, 2017 11:16:18 GMT
Hello, Sorry for the late answer. I've just re-tested with the new rhodes 6.0.12 and I still experienced some issues. First, I still have the error about the constant Socket::TCP_NODELAY which doesn't exist. But now my OpenSSL Sockets work and I can use the connect_nonblock without any problem. However I have other problem with Websocket. I open a Websocket between the view (Javascript) and the Ruby side. It used to work on 5.5 (tested with the latest 5.5.0.55) but it doesn't with the 6.0.12. I don't have any error in the logs but it looks like the accept() which should connect the client doesn't work sometimes and even if the accept() pass, the messages sent from JS are not received. I work with this WebSocket implementation : github.com/imanel/websocket-ruby. Thanks Louis
|
|
|
Post by louisatome on Nov 21, 2017 11:41:25 GMT
After some digging, it seems that the problem is more general and affects the TCPServer class. If I open a TCPServer in Ruby code like this :
TCPServer.open("0.0.0.0", 1516) { |serv| puts "Accept client..." socket = serv.accept puts "Got client !" } The accept() never returns a client when I try to connect with the following code executed from a remote computer :
hostname = '192.168.2.9' port = 1516
puts "try connect to #{hostname}:#{port}" s = TCPSocket.open(hostname, port) I've tried the exact same code in 5.5 and it works.
|
|
|
Post by jontara on Nov 23, 2017 0:34:33 GMT
FYI, there is a problem building with the very latest NDK (16.0.4442984). I had to drop back to NDK r15c.
If you use Android Studio to install NDK, there is no option to install multiple versions of the NDK. You will need to download NDK and unzip it the old-fashioned way, and put in a different directory. Make sure to re-run rhodes-setup so that Rhodes knows where to find the NDK.
|
|
|
Post by egghead on Nov 23, 2017 4:10:35 GMT
FYI, there is a problem building with the very latest NDK (16.0.4442984). I had to drop back to NDK r15c. If you use Android Studio to install NDK, there is no option to install multiple versions of the NDK. You will need to download NDK and unzip it the old-fashioned way, and put in a different directory. Make sure to re-run rhodes-setup so that Rhodes knows where to find the NDK. Which version of Rhodes? What error are you getting with latest NDK? BTW, in RhoStudio you can specify Android SDK, NDK folders in Window-Preferences
|
|
|
Post by Alex Epifanov on Nov 28, 2017 16:39:11 GMT
I confirm Rhodes doesn't support NDK16 currently. We'll fix it in upcoming releases.
|
|
|
Post by ldm314 on Dec 8, 2017 6:52:28 GMT
What NDK version are you using? I see a similar issue on windows. NDK: android-ndk-r9d-windows-x86_64 C:/RhoMobileSuite6.0.11/ruby/lib/ruby/gems/1.9.1/gems/rhodes-6.0.11/platform/android/../../platform/shared/ruby/signal.c: At top level:
[31mC:/RhoMobileSuite6.0.11/ruby/lib/ruby/gems/1.9.1/gems/rhodes-6.0.11/platform/android/../../platform/shared/ruby/signal.c:28:22: fatal error: ucontext.h: No such file or directory
|
|