I had to change from ruby 2.1.0 to ruby 2.2.0 (2.1.0 is not supported on Cedar-14 apparently) and I (manually) changed eventmachine to 1.0.7 in the Gemfile.lock (1.0.3 failed to build).
Here are the errors:
w/ Ruby 2.1.0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rack
remote: !
remote: ! An error occurred while installing Ruby ruby-2.1.0
remote: ! For supported Ruby versions see https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
remote: ! Note: Only the most recent version of Ruby 2.1 is supported on Cedar-14
remote: ! Command: 'set -o pipefail; curl --fail --retry 3 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/cedar-14/ruby-2.1.0.tgz -s -o - | tar zxf - ' failed unexpectedly
remote: !
remote: ! gzip: stdin: unexpected end of file
remote: ! tar: Child returned status 1
remote: ! tar: Error is not recoverable: exiting now
remote: !
w/ ruby 2.2.0 & eventmachine locked to 1.0.3
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rack
remote: -----> Using Ruby version: ruby-2.2.0
remote: -----> Installing dependencies using 1.7.12
remote: Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote: Fetching gem metadata from https://rubygems.org/..........
remote: Installing rack 1.5.2
remote: Installing daemons 1.1.9
remote: Using bundler 1.7.12
remote: Installing rack-protection 1.5.2
remote: Installing tilt 1.4.1
remote: Installing sinatra 1.4.4
remote: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote: /tmp/build_5d9693122d37a837676c43638edfff0b/vendor/ruby-2.2.0/bin/ruby -r ./siteconf20150212-479-rndwnk.rb extconf.rb
remote: checking for rb_trap_immediate in ruby.h,rubysig.h... no
remote: checking for rb_thread_blocking_region()... no
remote: checking for inotify_init() in sys/inotify.h... yes
remote: checking for writev() in sys/uio.h... yes
remote: checking for rb_wait_for_single_fd()... yes
remote: checking for rb_enable_interrupt()... no
remote: checking for rb_time_new()... yes
remote: checking for sys/event.h... no
remote: checking for epoll_create() in sys/epoll.h... yes
remote: creating Makefile
remote: make "DESTDIR=" clean
remote: make "DESTDIR="
remote: compiling pipe.cpp
remote: compiling em.cpp
remote: em.cpp: In member function ‘void EventMachine_t::_RunEpollOnce()’:
remote: em.cpp:574:37: error: ‘rb_thread_select’ was not declared in this scope
remote: EmSelect (0, NULL, NULL, NULL, &tv);
remote: ^
remote: em.cpp: In member function ‘int SelectData_t::_Select()’:
remote: em.cpp:827:67: error: ‘rb_thread_select’ was not declared in this scope
remote: return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
remote: ^
remote: em.cpp: In member function ‘void EventMachine_t::_RunSelectOnce()’:
remote: em.cpp:946:40: error: ‘rb_thread_select’ was not declared in this scope
remote: EmSelect (0, NULL, NULL, NULL, &tv);
remote: ^
remote: make: *** [em.o] Error 1
remote: make failed, exit code 2
remote: Gem files will remain installed in /tmp/build_5d9693122d37a837676c43638edfff0b/vendor/bundle/ruby/2.2.0/gems/eventmachine-1.0.3 for inspection.
remote: Results logged to /tmp/build_5d9693122d37a837676c43638edfff0b/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.3/gem_make.out
remote: An error occurred while installing eventmachine (1.0.3), and Bundler cannot
remote: continue.
remote: Make sure that `gem install eventmachine -v '1.0.3'` succeeds before bundling.
remote: Bundler Output: Fetching gem metadata from https://rubygems.org/..........
remote: Installing rack 1.5.2
remote: Installing daemons 1.1.9
remote: Using bundler 1.7.12
remote: Installing rack-protection 1.5.2
remote: Installing tilt 1.4.1
remote: Installing sinatra 1.4.4
remote:
remote: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote:
remote: /tmp/build_5d9693122d37a837676c43638edfff0b/vendor/ruby-2.2.0/bin/ruby -r ./siteconf20150212-479-rndwnk.rb extconf.rb
remote: checking for rb_trap_immediate in ruby.h,rubysig.h... no
remote: checking for rb_thread_blocking_region()... no
remote: checking for inotify_init() in sys/inotify.h... yes
remote: checking for writev() in sys/uio.h... yes
remote: checking for rb_wait_for_single_fd()... yes
remote: checking for rb_enable_interrupt()... no
remote: checking for rb_time_new()... yes
remote: checking for sys/event.h... no
remote: checking for epoll_create() in sys/epoll.h... yes
remote: creating Makefile
remote:
remote: make "DESTDIR=" clean
remote:
remote: make "DESTDIR="
remote: compiling pipe.cpp
remote: compiling em.cpp
remote: em.cpp: In member function ‘void EventMachine_t::_RunEpollOnce()’:
remote: em.cpp:574:37: error: ‘rb_thread_select’ was not declared in this scope
remote: EmSelect (0, NULL, NULL, NULL, &tv);
remote: ^
remote: em.cpp: In member function ‘int SelectData_t::_Select()’:
remote: em.cpp:827:67: error: ‘rb_thread_select’ was not declared in this scope
remote: return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
remote: ^
remote: em.cpp: In member function ‘void EventMachine_t::_RunSelectOnce()’:
remote: em.cpp:946:40: error: ‘rb_thread_select’ was not declared in this scope
remote: EmSelect (0, NULL, NULL, NULL, &tv);
remote: ^
remote: make: *** [em.o] Error 1
remote:
remote: make failed, exit code 2
remote:
remote: Gem files will remain installed in /tmp/build_5d9693122d37a837676c43638edfff0b/vendor/bundle/ruby/2.2.0/gems/eventmachine-1.0.3 for inspection.
remote: Results logged to /tmp/build_5d9693122d37a837676c43638edfff0b/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.3/gem_make.out
remote: An error occurred while installing eventmachine (1.0.3), and Bundler cannot
remote: continue.
remote: Make sure that `gem install eventmachine -v '1.0.3'` succeeds before bundling.
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote:
remote: ! Push rejected, failed to compile Ruby app
remote:
I had to change from ruby 2.1.0 to ruby 2.2.0 (2.1.0 is not supported on Cedar-14 apparently) and I (manually) changed eventmachine to 1.0.7 in the Gemfile.lock (1.0.3 failed to build).
Here are the errors:
w/ Ruby 2.1.0
w/ ruby 2.2.0 & eventmachine locked to 1.0.3