Ran into an interesting problem today that took me a bit to figure out. I need to automate some web tasks so of course I turned to Mechanize. When trying to install the gem on Ubuntu I ran into the following problem:
io@crazo:~$ sudo gem install mechanize
Building native extensions. This could take a while...
ERROR: Error installing mechanize:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install mechanize
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for exsltFuncRegister() in -lexslt... no
checking for libxml/xmlversion.h in /opt/local/include,/opt/local/include/libxml2,/usr/include/libxml2,/usr/include,/usr/include/libxml2,/usr/local/include/libxml2... yes
checking for libxslt/xslt.h in /opt/local/include,/opt/local/include/libxml2,/usr/include/libxml2,/usr/include,/usr/include/libxml2,/usr/local/include/libxml2... no
need libxslt
*** 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=/usr/bin/ruby1.8
--with-xml2lib
--without-xml2lib
--with-xsltlib
--without-xsltlib
--with-exsltlib
--without-exsltlib
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/nokogiri-1.1.0 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/nokogiri-1.1.0/ext/nokogiri/gem_make.out
This line threw a hint:
checking for libxslt/xslt.h in /opt/local/include,/opt/local/include/libxml2,/usr/include/libxml2,/usr/include,/usr/include/libxml2,/usr/local/include/libxml2… no
Anyways, after some Googling i found this post on Industry Zero and resolved the issue with a simple package installation:
io@crazo:~$ sudo apt-get install libxslt1-dev
After that, noooo problem installing mechanize and even resolved an issue i was having with nokogiri getting installed!
io@crazo:~$ sudo gem install mechanize Building native extensions. This could take a while... Successfully installed nokogiri-1.1.0 Successfully installed mechanize-0.9.0 2 gems installed Installing ri documentation for nokogiri-1.1.0... Installing ri documentation for mechanize-0.9.0... Installing RDoc documentation for nokogiri-1.1.0... Installing RDoc documentation for mechanize-0.9.0...