Project

General

Profile

Bug #10260

Cannot install "thin" gem

Added by sawa (Tsuyoshi Sawada) almost 5 years ago. Updated almost 5 years ago.

Status:
Third Party's Issue
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0preview1 (2014-09-17 trunk 47616) [x86_64-linux]
[ruby-core:65111]

Description

When I try to install "thin" gem, I get the following error:

$ sudo gem install thin
Building native extensions.  This could take a while...
ERROR:  Error installing thin:
    ERROR: Failed to build gem native extension.

    /usr/local/bin/ruby -r ./siteconf20140919-24244-x0j5an.rb extconf.rb
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

make "DESTDIR=" clean

make "DESTDIR="
compiling binder.cpp
compiling kb.cpp
compiling ssl.cpp
compiling rubymain.cpp
compiling ed.cpp
compiling cmain.cpp
compiling pipe.cpp
compiling em.cpp
em.cpp: In member function ‘void EventMachine_t::_RunEpollOnce()’:
em.cpp:574: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:827:67: error: ‘rb_thread_select’ was not declared in this scope
  return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
                                                                   ^
em.cpp: In member function ‘void EventMachine_t::_RunSelectOnce()’:
em.cpp:946:40: error: ‘rb_thread_select’ was not declared in this scope
      EmSelect (0, NULL, NULL, NULL, &tv);
                                        ^
make: *** [em.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/2.2.0/gems/eventmachine-1.0.3 for inspection.
Results logged to /usr/local/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.3/gem_make.out

I didn't have this problem with previous version of Ruby.

History

Updated by normalperson (Eric Wong) almost 5 years ago

sawadatsuyoshi@gmail.com wrote:

checking for rb_thread_blocking_region()... no

This is a deprecated API, maybe the latest EventMachine or trunk fixes.
If not, report the bug to EventMachine authors
(but AFAIK, EM is somewhat abandoned)

em.cpp: In member function ‘void EventMachine_t::_RunEpollOnce()’:
em.cpp:574:37: error: ‘rb_thread_select’ was not declared in this scope
EmSelect (0, NULL, NULL, NULL, &tv);

It looks like EM falls back to using an even older API
(rb_thread_select) because it cannot find rb_thread_blocking_region

Updated by hsbt (Hiroshi SHIBATA) almost 5 years ago

  • Status changed from Open to Third Party's Issue

I already fixed eventmachine.

https://github.com/eventmachine/eventmachine/commits/master

Please request bump version to eventmachine maintainers.

Also available in: Atom PDF