title: Gem:loaderror in Rails application due to nokogiri gem
body: <p>I've always getting an error saying <code>Nokogiri was built against LibXML version 2.9.3, but has dynamically loaded 2.9.2</code> so I decided to fix it. </p>
  
  <p>I found this website <a href="http://www.railsbling.com/posts/fix_nokogiri_warning/" rel="nofollow">http://www.railsbling.com/posts/fix_nokogiri_warning/</a> and followed the instruction. Now, whenever i run rails command like rails server and rails console, I always get an error saying</p>
  
  <pre><code>/Users/me/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'nokogiri' (&gt;= 1.5.9) among 229 total gem(s) (Gem::LoadError)
  
  Checked in 'GEM_PATH=/Users/me/.rvm/gems/ruby-2.3.0:/Users/me/.rvm/gems/ruby-2.3.0@global', execute `gem env` for more information
  </code></pre>
  
  <p>When I run bundle install in my rails app, I get long error log saying:</p>
  
  <pre><code>Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
  
  current directory:
  /Users/me/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri
  /Users/me/.rvm/rubies/ruby-2.3.0/bin/ruby -r
  ./siteconf20160923-1257-12bvmq6.rb extconf.rb
  Using pkg-config version 1.1.7
  checking if the C compiler accepts ... yes
  checking if the C compiler accepts
  -Wno-error=unused-command-line-argument-hard-error-in-future... no
  Building nokogiri using packaged libraries.
  Using mini_portile version 2.1.0
  checking for iconv.h... yes
  checking for gzdopen() in -lz... yes
  checking for iconv using --with-opt-* flags... yes
  ************************************************************************
  IMPORTANT NOTICE:
  
  Building Nokogiri with a packaged version of libxml2-2.9.4.
  
  Team Nokogiri will keep on doing their best to provide security
  updates in a timely manner, but if this is a concern for you and want
  to use the system library instead; abort this installation process and
  reinstall nokogiri as follows:
  
      gem install nokogiri -- --use-system-libraries
          [--with-xml2-config=/path/to/xml2-config]
          [--with-xslt-config=/path/to/xslt-config]
  
  If you are using Bundler, tell it to use the option:
  
      bundle config build.nokogiri --use-system-libraries
      bundle install
  
  Note, however, that nokogiri is not fully compatible with arbitrary
  versions of libxml2 provided by OS/package vendors.
  ************************************************************************
  Extracting libxml2-2.9.4.tar.gz into
  tmp/x86_64-apple-darwin15.3.0/ports/libxml2/2.9.4... OK
  Running 'configure' for libxml2 2.9.4... OK
  Running 'compile' for libxml2 2.9.4... ERROR, review
  '/Users/me/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/tmp/x86_64-apple-darwin15.3.0/ports/libxml2/2.9.4/compile.log'
  to see what happened. Last lines are:
  ========================================================================
      unsigned short* in = (unsigned short*) inb;
                           ^~~~~~~~~~~~~~~~~~~~~
  encoding.c:815:27: warning: cast from 'unsigned char *' to 'unsigned short *'
  increases required alignment from 1 to 2 [-Wcast-align]
      unsigned short* out = (unsigned short*) outb;
                            ^~~~~~~~~~~~~~~~~~~~~~
  4 warnings generated.
    CC       error.lo
    CC       parserInternals.lo
    CC       parser.lo
    CC       tree.lo
    CC       hash.lo
    CC       list.lo
    CC       xmlIO.lo
  xmlIO.c:1450:52: error: use of undeclared identifier 'LZMA_OK'
      ret =  (__libxml2_xzclose((xzFile) context) == LZMA_OK ) ? 0 : -1;
                                                     ^
  1 error generated.
  make[2]: *** [xmlIO.lo] Error 1
  make[1]: *** [all-recursive] Error 1
  make: *** [all] Error 2
  ========================================================================
  *** 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
      --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=/Users/me/.rvm/rubies/ruby-2.3.0/bin/$(RUBY_BASE_NAME)
      --help
      --clean
      --use-system-libraries
      --enable-static
      --disable-static
      --with-zlib-dir
      --without-zlib-dir
      --with-zlib-include
      --without-zlib-include=${zlib-dir}/include
      --with-zlib-lib
      --without-zlib-lib=${zlib-dir}/lib
      --enable-cross-build
      --disable-cross-build
  /Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:366:in
  `block in execute': Failed to complete compile task (RuntimeError)
  from
  /Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in
  `chdir'
  from
  /Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in
  `execute'
  from
  /Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:in
  `compile'
  from
  /Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:150:in
  `cook'
      from extconf.rb:364:in `block (2 levels) in process_recipe'
      from extconf.rb:257:in `block in chdir_for_build'
      from extconf.rb:256:in `chdir'
      from extconf.rb:256:in `chdir_for_build'
      from extconf.rb:363:in `block in process_recipe'
      from extconf.rb:262:in `tap'
      from extconf.rb:262:in `process_recipe'
      from extconf.rb:555:in `&lt;main&gt;'
  
  To see why this extension failed to compile, please check the mkmf.log which can
  be found here:
  
  /Users/me/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-15/2.3.0/nokogiri-1.6.8/mkmf.log
  
  extconf failed, exit code 1
  
  Gem files will remain installed in
  /Users/me/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8 for inspection.
  Results logged to
  /Users/me/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-15/2.3.0/nokogiri-1.6.8/gem_make.out
  
  An error occurred while installing nokogiri (1.6.8), and Bundler cannot
  continue.
  Make sure that `gem install nokogiri -v '1.6.8'` succeeds before bundling.
  </code></pre>
  
  <p>Not sure why Nokogiri is causing so much problem all of sudden.</p>