I’m attempted to install the bzip2-ruby gem on Windows 7 x64. Now I don’t know if this gem even works on 64-bit Windows. I did install bzip2 which got installed to C:\Program Files (x86)\GnuWin32.
When I go to install, the run the following command:
gem install bzip2-ruby -- --with-bz2-dir="C:\Program Files (x86)\GnuWin32\"
When that runs I get the following output:
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
I can verify that the libbz2.a, libbz2.def, and the libbz2.dll.a files exist in the lib folder at the path above.
Am I just missing an extra option when running the command to specify the lib folder?
Thanks!
For GCC (the compiler bundled in RubyInstaller DevKit) to properly work, you need to use path without spaces.
The option to
extconfthat you provided has a path with spaces. Please relocate thelib,includeandbinfolders from bzip2 into a directory without spaces and try again.Also, you need to have both headers (found in
includedirectory) and the import library (found inlibdirectory) for extension compilation to work.Hope that helps.