2012-06-13 99 views
1

我試圖在Windows 7 x64上安裝bzip2-ruby gem。現在我不知道這個gem是否可以在64位Windows上運行。我確實安裝了安裝到C:\ Program Files(x86)\ GnuWin32的bzip2。bzip2-ruby Windows安裝

當我去安裝,運行以下命令:

gem install bzip2-ruby -- --with-bz2-dir="C:\Program Files (x86)\GnuWin32\" 

當運行我得到以下輸出:

Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
*** 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. 

Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=C:/Ruby193/bin/ruby 
     --with-bz2-dir 
     --with-bz2-include 
     --without-bz2-include=${bz2-dir}/include 
     --with-bz2-lib 
     --without-bz2-lib=${bz2-dir}/lib 
     --with-bz2lib 
     --without-bz2lib 
ERROR: Error installing bzip2-ruby: 
     ERROR: Failed to build gem native extension. 

     C:/Ruby193/bin/ruby.exe extconf.rb --with-bz2-dir=C:\Program Files (x86)\GnuWin32" 
checking for bzlib.h... no 
checking for BZ2_bzWriteOpen() in -lbz2... no 
libbz2 not found, maybe try manually specifying --with-bz2-dir to find it? 

Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/bzip2-ruby-0.2.7 for inspection. 
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/bzip2-ruby-0.2.7/ext/gem_make.out 

我可以驗證libbz2.a,libbz2。 def,libbz2.dll.a文件存在於上面路徑的lib文件夾中。

我是否在運行命令來指定lib文件夾時錯過了一個額外的選項?

謝謝!

回答

1

對於GCC(捆綁在RubyInstaller DevKit中的編譯器)正常工作,需要使用路徑而不使用空格。

您提供的extconf選項具有空格路徑。請將bzip2中的libincludebin文件夾重新定位到無空格的目錄中,然後重試。

此外,您需要同時具有兩個標頭(在include目錄中找到)和導入庫(在lib目錄中找到)以使擴展編譯生效。

希望有所幫助。

+0

你是一個拯救生命的人!它看起來就是這樣,路徑中的空間。當我將文件移動到其他地方時,gem成功安裝。再次感謝! –