7

I'm getting this error when executing 'bundle install':

..........

Installing libxml-ruby (2.7.0) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /home/ubuntu/.rvm/rubies/ruby-1.8.7-p374/bin/ruby extconf.rb 
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... yes
checking for atan() in -lm... no
checking for atan() in -lm... yes
checking for inflate() in -lz... yes
checking for iconv_open() in -liconv... no
checking for libiconv_open() in -liconv... no
checking for libiconv_open() in -llibiconv... no
checking for iconv_open() in -llibiconv... no
checking for iconv_open() in -lc... yes
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
checking for xmlParseDoc() in -lxml2... 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
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/ubuntu/.rvm/rubies/ruby-1.8.7-p374/bin/ruby
    --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-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-socketlib
    --without-socketlib
    --with-nsllib
    --without-nsllib
    --with-mlib
    --without-mlib
    --with-mlib
    --without-mlib
    --with-zlib
    --without-zlib
    --with-iconvlib
    --without-iconvlib
    --with-iconvlib
    --without-iconvlib
    --with-libiconvlib
    --without-libiconvlib
    --with-libiconvlib
    --without-libiconvlib
    --with-clib
    --without-clib
    --with-xml2-config
    --without-xml2-config
    --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-xml2lib
    --without-xml2lib
    --with-libxml2lib
    --without-libxml2lib
    --with-xml2lib
    --without-xml2lib
 extconf failure: need libxml2.

    Install the library or try one of the following options to extconf.rb:

      --with-xml2-config=/path/to/xml2-config
      --with-xml2-dir=/path/to/libxml2
      --with-xml2-lib=/path/to/libxml2/lib
      --with-xml2-include=/path/to/libxml2/include



Gem files will remain installed in /home/ubuntu/.rvm/gems/ruby-1.8.7-p374@ieasy/gems/libxml-ruby-2.7.0 for inspection.
Results logged to /home/ubuntu/.rvm/gems/ruby-1.8.7-p374@ieasy/gems/libxml-ruby-2.7.0/ext/libxml/gem_make.out

An error occurred while installing libxml-ruby (2.7.0), and Bundler cannot continue.
Make sure that `gem install libxml-ruby -v '2.7.0'` succeeds before bundling.

Not really sure what's wrong here. This is working on my other box with the same ruby and rails version.

Been trying to figure this out but with no luck.

Please help. :( .. thanks!

user2997249
  • 73
  • 1
  • 3

3 Answers3

15

First,install libxml2-dev

sudo apt-get install libxml2-dev
Jai Chauhan
  • 4,035
  • 3
  • 36
  • 62
Tuhin Paul
  • 558
  • 4
  • 11
  • On recent versions of ubuntu it can be hard to get really old Rails/Ruby versions working because they won't naturally install an old enough version of libxml. This article describes a `sources.list` file entry to make it work: https://www.garron.me/en/linux/install-ruby-2-3-3-ubuntu.html – Harry Wood Nov 19 '22 at 10:21
4

Try install/reinstalled libxslt with a default ./configure run

Alexandr T
  • 1,471
  • 12
  • 24
2

For CentOS:

searching:

yum list libxml2

install:

sudo yum install libxml2 libxml2-devel

For Ubuntu:

searching:

apt-cache search libxml2

or:

dpkg -l libxml\*  

install:

sudo apt-get install libxml2 libxml2-dev
shilovk
  • 11,718
  • 17
  • 75
  • 74