2012-06-13 41 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成功安装。再次感谢! –