繁体   English   中英

ubuntu上的rails和ruby更新错误:无法构建gem本机扩展

[英]rails and ruby update on ubuntu ERROR: Failed to build gem native extension

我从升级红宝石一个Ubuntu 14.04服务器(AWS EC2)上的回报率的应用程序2.1.42.2.4和导轨4.2.44.2.6 ,运行以下命令后成功ssh荷兰国际集团到服务器:

git pull origin master
rvm install 2.2.4
bundle install
gem install rails 4.2.6
./restart_server.sh # script to precompile assets and restart the server

访问端点时,我收到以下Web应用程序无法启动的响应

ERROR: Failed to build gem native extension.

/home/ubuntu/.rvm/rubies/ruby-2.2.4/bin/ruby 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 page.cpp
compiling cmain.cpp
compiling kb.cpp
compiling rubymain.cpp
compiling ed.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
em.cpp: In member function 'int SelectData_t::_Select()':
em.cpp:827:67: error: 'rb_thread_select' was not declared in this scope
em.cpp: In member function 'void EventMachine_t::_RunSelectOnce()':
em.cpp:946:40: error: 'rb_thread_select' was not declared in this scope
make: *** [em.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/eventmachine-1.0.3 for inspection.
Results logged to /home/ubuntu/.rvm/gems/ruby-2.1.0/extensions/x86_64-linux/2.2.0/eventmachine-1.0.3/gem_make.out
 (Gem::Ext::BuildError)
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:89:in `run'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:51:in `block in make'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:43:in `each'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:43:in `make'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/ext_conf_builder.rb:47:in `block in build'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/tempfile.rb:319:in `open'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/ext_conf_builder.rb:17:in `build'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:161:in `block (2 levels) in build_extension'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:160:in `chdir'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:160:in `block in build_extension'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:159:in `synchronize'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:159:in `build_extension'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:198:in `block in build_extensions'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:195:in `each'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:195:in `build_extensions'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:1436:in `block in build_extensions'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/user_interaction.rb:45:in `use_ui'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:1434:in `build_extensions'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/stub_specification.rb:60:in `build_extensions'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/basic_specification.rb:56:in `contains_requirable_file?'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:925:in `block in find_inactive_by_path'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:924:in `each'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:924:in `find'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:924:in `find_inactive_by_path'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems.rb:185:in `try_activate'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:132:in `rescue in require'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:144:in `require'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/lib/phusion_passenger/native_support.rb:360:in `load_native_extension'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/lib/phusion_passenger/native_support.rb:106:in `load_from_buildout_dir'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/lib/phusion_passenger/native_support.rb:36:in `try_load'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/lib/phusion_passenger/native_support.rb:47:in `start'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/lib/phusion_passenger/native_support.rb:376:in `<top (required)>'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /home/ubuntu/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/lib/phusion_passenger.rb:233:in `require_passenger_lib'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/helper-scripts/rack-preloader.rb:75:in `init_passenger'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/helper-scripts/rack-preloader.rb:157:in `<module:App>'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
  /home/ubuntu/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37/helper-scripts/rack-preloader.rb:28:in `<main>'

该问题是由ubuntu库依赖性问题引起的,可使用以下命令解决:

sudo apt-get remove linux-headers-virtual linux-virtual  
sudo apt-get install linux-headers-virtual linux-virtual
sudo apt-get -f install
sudo apt-get autoremove

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM