无法构建gem原生扩展ruby 2.0升级fastthread

时间:2013-02-25 21:32:02

标签: ruby ruby-on-rails-3 ruby-2.0

我正在将我的系统升级到ruby 2.0并且我已经完成了将计算机扔到墙上的所有事情。我发现很难相信fastthread是问题所在。运行'bundle install'时是否有其他人看到此错误。这是我的红宝石版本

ruby​​ -v ruby 2.0.0p0(2013-02-24修订版39474)[x86_64-darwin12.2.0]

当我尝试运行rails -v时,我得到了这个

rails -v 无法在任何来源中找到fastthread-1.0.7 运行bundle install以安装缺少的宝石。

Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.0.3) 
Using i18n (0.6.1) 
Using multi_json (1.6.1) 
Using activesupport (3.2.9) 
Using builder (3.0.4) 
Using activemodel (3.2.9) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.2.2) 
Using actionpack (3.2.9) 
Using mime-types (1.21) 
Using polyglot (0.3.3) 
Using treetop (1.4.12) 
Using mail (2.4.4) 
Using actionmailer (3.2.9) 
Using arel (3.0.2) 
Using tzinfo (0.3.35) 
Using activerecord (3.2.9) 
Using activeresource (3.2.9) 
Using bundler (1.3.0) 
Using highline (1.6.15) 
Using net-ssh (2.6.5) 
Using net-scp (1.1.0) 
Using net-sftp (2.1.1) 
Using net-ssh-gateway (1.2.0) 
Using capistrano (2.14.2) 
Using chunky_png (1.2.7) 
Using coffee-script-source (1.5.0) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.3) 
Using json (1.7.7) 
Using rdoc (3.12.2) 
Using thor (0.17.0) 
Using railties (3.2.9) 
Using coffee-rails (3.2.2) 
Using fssm (0.2.10) 
Using sass (3.2.6) 
Using compass (0.12.2) 
Using compass-rails (1.0.3) 
Using daemon_controller (1.1.1) 
Installing fastthread (1.0.7) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/ben/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb 
extconf.rb:13:in `block in <main>': Use RbConfig instead of obsolete and deprecated Config.
extconf.rb:13:in `block in <main>': Use RbConfig instead of obsolete and deprecated Config.

make
Makefile:104: *** missing separator.  Stop.


Gem files will remain installed in /Users/[me]/.rvm/gems/ruby-2.0.0-p0/gems/fastthread-1.0.7 for inspection.
Results logged to /Users/[me]/.rvm/gems/ruby-2.0.0-p0/gems/fastthread-1.0.7/ext/fastthread/gem_make.out

An error occurred while installing fastthread (1.0.7), and Bundler cannot
continue.
Make sure that `gem install fastthread -v '1.0.7'` succeeds before bundling.

还有其他人遇到过这个吗?

/Users/[me]/.rvm/gems/ruby-2.0.0-p0/gems/fastthread-1.0.7/ext/fastthread/gem_mak e.out

的组成部分
/Users/[me]/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb

extconf.rb:13:in `block in <main>': Use RbConfig instead of obsolete and deprecated Config.
extconf.rb:13:in `block in <main>': Use RbConfig instead of obsolete and deprecated   Config.

make
Makefile:104: *** missing separator.  Stop.

2 个答案:

答案 0 :(得分:8)

Phusion Passenger 4已经通过删除fastthread依赖关系来解决这个问题。 4.0 beta和RCs在Ruby 2.0上安装得很好。

答案 1 :(得分:3)

如果您使用Passenger作为您的网络服务器,则 具有此依赖关系。请参阅此修订的拉取请求:https://github.com/zoltankiss/fastthread/commit/a47a121990cf7d4f31147406c2d379dabc048479

gem的作者尚未包含此修复程序。如果需要,您可以从https://github.com/zoltankiss/fastthread请求快速阅读。那是谁提交了拉取请求。