2013-10-09 4 views
8

cygwinの中からgem wdmをインストールする際にこのエラーが発生します。誰もが同じ問題を抱えていて、今それを修正することを知っていますか?ありがとう。 (私はGuardの宝石をインストールしようとしています)エラーcygwinにgem wdmをインストールする

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

    /usr/bin/ruby.exe extconf.rb 
checking for main() in -lkernel32... yes 
checking for windows.h... yes 
checking for ruby.h... yes 
checking for HAVE_RUBY_ENCODING_H... yes 
creating Makefile 

make 
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H -ggdb -O2 -pipe -fno-strict-aliasing -o entry.o -c entry.c 
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H -ggdb -O2 -pipe -fno-strict-aliasing -o memory.o -c memory.c 
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H -ggdb -O2 -pipe -fno-strict-aliasing -o monitor.o -c monitor.c 
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H -ggdb -O2 -pipe -fno-strict-aliasing -o queue.o -c queue.c 
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H -ggdb -O2 -pipe -fno-strict-aliasing -o rb_change.o -c rb_change.c 
rb_change.c: In function ‘extract_absolute_path_from_notification’: 
rb_change.c:47:16: error: ‘_MAX_FNAME’ undeclared (first use in this function) 
rb_change.c:47:16: note: each undeclared identifier is reported only once for each function it appears in 
rb_change.c:47:33: error: ‘_MAX_EXT’ undeclared (first use in this function) 
Makefile:206: recipe for target `rb_change.o' failed 
make: *** [rb_change.o] Error 1 

Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/wdm-0.1.0 for inspection. 
Results logged to /usr/lib/ruby/gems/1.9.1/gems/wdm-0.1.0/ext/wdm/gem_make.out 
+0

は、Windowsマシンにguard-rubocopをインストールしようとして同様の問題が発生しました。 'gem install iff'がビルドに失敗します。 – nifr

答えて

3

先日、私の同僚にwdmの問題がありました。

Ruby DevKitをダウンロードすることで修正しました(これが既にインストールされているかどうかはわかりません)。

私はここに貼り付けます、オンラインの手順によって、いくつかのかなりまともなステップを発見した - 彼らは

開発キットを助ける願ってここにある:http://rubyinstaller.org/downloads/

  1. は、開発キットをダウンロードして、たとえばCでそれをインストール:\ devkit。
  2. コマンドウィンドウを開き、c:と入力します。
  3. cd devkitと入力してフォルダを変更します。
  4. ruby​​ dk.rb initを入力して、後で使用するconfig.ymlファイルを生成します。 インストールされているRubyがリストに表示されます(現在RubyInstallerパッケージによってインストールされているもののみが検出されます)。これは一度だけ行う必要があります。
  5. 最後に、Ruby dk.rb installをDevKit用にインストールすると、インストールされているRubyが強化されます。これは一度だけ行う必要があります。

を実行して、Rubyの環境が正しく開発キットを使用しているを確認します。

gem install wdm --platform=ruby

それはあなたが潜在的にではなく、ネイティブの宝石を構築するためにRubyGemsのを強制的に--platform =ルビーオプションが含まれていることが重要です間違ったバイナリgemをインストールしています。