EventMachine-LE
EventMachine-LE copied to clipboard
Can't install eventmachine-le
root@ubuntu-512mb-lon1-01:~# gem install eventmachine-le
Building native extensions. This could take a while...
ERROR: Error installing eventmachine-le:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/eventmachine-le-1.1.7/ext
/usr/bin/ruby2.3 -r ./siteconf20161027-5852-1j5d24o.rb extconf.rb
checking for main() in -lssl... yes
checking for main() in -lcrypto... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for inotify_init() in sys/inotify.h... yes
checking for writev() in sys/uio.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for sys/event.h... no
checking for epoll_create() in sys/epoll.h... yes
creating Makefile
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/eventmachine-le-1.1.7/mkmf.log
current directory: /var/lib/gems/2.3.0/gems/eventmachine-le-1.1.7/ext
make "DESTDIR=" clean
current directory: /var/lib/gems/2.3.0/gems/eventmachine-le-1.1.7/ext
make "DESTDIR="
compiling binder.cpp
compiling cmain.cpp
compiling ed.cpp
compiling em.cpp
em.cpp: In member function 'bool EventMachine_t::_RunEpollOnce()':
em.cpp:551:37: error: 'rb_thread_select' was not declared in this scope
EmSelect (0, NULL, NULL, NULL, &tv);
^
em.cpp: In member function 'int SelectData_t::_Select()':
em.cpp:810:67: error: 'rb_thread_select' was not declared in this scope
return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
^
em.cpp: In member function 'bool EventMachine_t::_RunSelectOnce()':
em.cpp:949:40: error: 'rb_thread_select' was not declared in this scope
EmSelect (0, NULL, NULL, NULL, &tv);
^
em.cpp: In member function 'void EventMachine_t::SignalLoopBreaker()':
em.cpp:243:34: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
write (LoopBreakerWriter, "", 1);
^
em.cpp: In member function 'void EventMachine_t::_ReadLoopBreaker()':
em.cpp:996:50: warning: ignoring return value of 'ssize_t read(int, void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
read (LoopBreakerReader, buffer, sizeof(buffer));
^
Makefile:231: recipe for target 'em.o' failed
make: *** [em.o] Error 1
make failed, exit code 2
Gem files will remain installed in /var/lib/gems/2.3.0/gems/eventmachine-le-1.1.7 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/eventmachine-le-1.1.7/gem_make.out
Please advise.
As stated here, EventMachine-LE does not work in Ruby 2.3, but the latest (still beta) EventMachine 1.2 does work. It incorporates most of the commits of EventMachine-LE, so probably I'll drop EventMachine-LE once EventMachine 1.2 becomes a stable version.
Hello. Is there any workaround to this issue?
On Jun 3, 2017, at 20:20, Vlad [email protected] wrote:
Hello. Is there any workaround to this issue?
I’m not sure what problem you are trying to solve, but workarounds might include:
- use an older version of Ruby
- use eventmachine 1.2 instead of eventmachine-le
- Backport the fixes between eventmachine 1.03 and 1.04 to eventmachine-le
- forward port the features you need that aren’t in eventmachine 1.2 from eventmachine-le (what are those features?)
Grüße, Carsten