libxslt Problems When Installing the Mechanize Gem

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...



  • thanks dude, this fix worked for me.

  • Alexey

    Thx man, for me too 🙂

  • works!
    i found another tutorial requesting i install 20 or so libraries, only 1 is better 🙂

  • Sharanya

    Thanks , it worked for me..

  • Scott

    Much appreciated! This worked like a charm!

  • irgeek

    thx pal, got me past a MAJOR hurdle and I am very grateful 4 it!

  • Great to hear guys!!