构建本地gem扩展sqlite3失败



我试图在Cygwin上安装sqlite3-ruby与gem install sqlite3-ruby -v x.x.x,我得到以下错误:

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.
/usr/bin/ruby.exe extconf.rb
checking for fdatasync() in -lrt... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

有谁知道如何在Cygwin上安装Ruby on Rails的sqlite3吗?正如我所理解的SQLite RubyGem实际上不是一个*Ruby*Gem,它是一个"*C*Gem",现在它是用C写的。这意味着它必须被编译并链接到Ruby解释器,当你安装它,所以有什么帮助吗?

所以这不是一个完整的解决方案,因为我没有一个windows盒子和cygwin方便,但错误信息表明,linux实用程序fdatasync找不到。

工具linux手册页可以在这里找到http://linux.die.net/man/2/fdatasync

我刚刚遇到了这个问题-我第一次想安装Ruby gem在我新的Cygwin 64位系统

据我所知,SQLite RubyGem实际上不是一个RubyGem,它是一个"CGem",如果它是用C写的,这意味着它必须被编译和链接

Cygwin实际上提供了一个安装sqlite3的预编译包包含sqlite3_native.so链接库文件的gem文件。的名字这个包是ruby-sqlite3,你可以使用Cygwin的Setup.exe.来安装它我个人喜欢用apt-cyg所以我使用以下命令安装了这个包:

apt-cyg install ruby-sqlite3

这个包安装了适当的gem文件,可以通过运行看到cygcheck -l ruby-sqlite3:

/usr/lib/gems/ruby/2.0.0/sqlite3-1.3.9/gem.build_complete
/usr/lib/gems/ruby/2.0.0/sqlite3-1.3.9/sqlite3/sqlite3_native.so
/usr/share/gems/gems/sqlite3-1.3.9/API_CHANGES.rdoc
/usr/share/gems/gems/sqlite3-1.3.9/ChangeLog.cvs
/usr/share/gems/gems/sqlite3-1.3.9/CHANGELOG.rdoc
/usr/share/gems/gems/sqlite3-1.3.9/faq/faq.rb
/usr/share/gems/gems/sqlite3-1.3.9/faq/faq.yml
/usr/share/gems/gems/sqlite3-1.3.9/Gemfile
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/constants.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/database.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/errors.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/pragmas.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/resultset.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/translator.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/value.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3/version.rb
/usr/share/gems/gems/sqlite3-1.3.9/lib/sqlite3.rb
/usr/share/gems/gems/sqlite3-1.3.9/LICENSE
/usr/share/gems/gems/sqlite3-1.3.9/Manifest.txt
/usr/share/gems/gems/sqlite3-1.3.9/README.rdoc
/usr/share/gems/gems/sqlite3-1.3.9/tasks/faq.rake
/usr/share/gems/gems/sqlite3-1.3.9/tasks/gem.rake
/usr/share/gems/gems/sqlite3-1.3.9/tasks/native.rake
/usr/share/gems/gems/sqlite3-1.3.9/tasks/vendor_sqlite3

最新更新