views:

604

answers:

1

I'm working on a windows machine and trying to get the curb plugin to work, first thing I realized was I needed the curl library installed on my machine, so that's what I'm looking to do.

I simply downloaded a curl library, a curllib library, and have them located at c:/curl and c:/curllib respectively. I setup my environmental variables, I can execute curl.exe and that works like a beaut. However, my gem still fails with the following.

    C:/InstantRails/ruby/bin/ruby.exe extconf.rb install curb
checking for curl-config... no
checking for main() in curl.lib... no
*** 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
        --srcdir=.
        --curdir
        --ruby=C:/InstantRails/ruby/bin/ruby
        --with-curl-dir
        --with-curl-include
        --without-curl-include=${curl-dir}/include
        --with-curl-lib
        --without-curl-lib=${curl-dir}/lib
        --with-curllib
        --without-curllib
extconf.rb:9:   Can't find libcurl or curl/curl.h (RuntimeError)

  Try passing --with-curl-dir or --with-curl-lib and --with-curl-include
  options to extconf.


Gem files will remain installed in C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/curb-0.4.4.0 for inspection.
Results logged to C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/curb-0.4.4.0/ext/gem_make.out

Anybody have any ideas?

+1  A: 

This ends up to be the best tutorial to get the job done.

http://www.opiumtrail.com/wiki/CurbForWindows/

Things to note:

  • I compiled using MSVC6, so the additional steps he had explained for using a different version didn't apply.
  • I had to use the exact gem and libcurl specified on his tutorial
  • You can probably accomplish what you need using the included HTTP:NET library, in my case I couldn't figure it out using that library.
Ricky