8

When I try to run a ruby on rails project I got an error:

An error occurred while installing nokogiri (1.5.2), and bundle cannot continue.
Make sure that 'gem install nokogiri -v 1.5.2 succeed before building.

I'm working on Ubuntu 10.10

My co-worker uses on Windows/RVM and does not have this problem.

Edit:

gem_make.out

/opt/bitnami/ruby/bin/ruby extconf.rb
extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=/opt/bitnami/ruby/bin/ruby
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-xslt-dir
    --without-xslt-dir
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --with-iconvlib
    --without-iconvlib
BryanH
  • 5,826
  • 3
  • 34
  • 47
xoum89
  • 79
  • 1
  • 1
  • 6
  • Run `gem install nokogiri` and then post the error message (all of it) into the question – ScottJShea Mar 15 '12 at 18:17
  • Thx for your quick answer. Here the message : Gem files will remain installed in /opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.5.2 for inspection. Results logged to /opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.5.2/ext/nokogiri/gem_make.out – xoum89 Mar 15 '12 at 19:05
  • There should be a lot more than that. What you posted is the recovery from the failure. ANd go ahead and Edit your original question when you post the data in... it will be too much for a comment box – ScottJShea Mar 15 '12 at 19:07
  • You right just saw the full error page. I did an edit on my firt comment – xoum89 Mar 15 '12 at 19:12
  • Looks like Skydreamer beat me to the answer :) – ScottJShea Mar 15 '12 at 19:21

4 Answers4

8

nokogiri requirements

sudo apt-get install libxslt-dev libxml2-dev

sudo gem install nokogiri

You can visit http://nokogiri.org/tutorials/installing_nokogiri.html

michael
  • 127
  • 2
  • 6
  • I already had the libxslt-dev libxml2-dev installed, was just missing the nokogiri gem. Turns out that my problem was related to the .bundle folder. I had it as root instead of my user and group. – marcogmonteiro Jul 28 '20 at 13:17
8

From the output:

libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

Install libiconv.

Ryan Bigg
  • 106,965
  • 23
  • 235
  • 261
5

It should not be necessary to install any additonal package. You can use the libraries includes with BitNami (in /opt/bitnami/common). You just need to load the BitNami environment and specify the path to libxml2 files. While testing this I got similar issue but with libxml2, a similar solution can be applied for the iconv error that you are receiving.

$/opt/bitnami/rubyconsole

$sudo gem install nokogiri  -- --with-xml2-dir=/opt/bitnami/common --with-xml2-include=/opt/bitnami/common/include/libxml2

Building native extensions.  This could take a while...
Successfully installed nokogiri-1.5.2
1 gem installed
Installing ri documentation for nokogiri-1.5.2...
Installing RDoc documentation for nokogiri-1.5.2...

The solution of installing the system packages and used them should also work.

kaysa
  • 1,491
  • 13
  • 9
  • I tried the code you list above, but still got `libxml2 is missing`. I am using the bitnami stack, do you have any more advice please? – Baruch Jun 04 '12 at 11:31
  • did you try the exact command? Notice the -- after nokogiri and --withxxxx – kaysa Jun 05 '12 at 10:47
  • this answer should take precedence over others because it advocates using existing libraries. –  Aug 10 '12 at 16:25
2

what works for me (Mac OS X):

$ xcode-select --install
cyrilchampier
  • 2,207
  • 1
  • 25
  • 39