title: Rails pg gem Incompatible library version
body: <p>I'm getting the following 'incompatible library version' error when I try and access my Ruby on Rails website in development mode.</p>
  
  <pre><code>incompatible library version - /var/www/vhosts/launch.site.com/httpdocs/vendor/bundle/ruby/2.2.0/gems/pg-0.18.4/lib/pg_ext.so (LoadError)
    /var/www/vhosts/launch.site.com/httpdocs/vendor/bundle/ruby/2.2.0/gems/pg-0.18.4/lib/pg.rb:4:in `require'
    /var/www/vhosts/launch.site.com/httpdocs/vendor/bundle/ruby/2.2.0/gems/pg-0.18.4/lib/pg.rb:4:in `&lt;top (required)&gt;'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `require'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `each'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `block in require'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `each'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `require'
    /usr/local/rvm/gems/ruby-2.2.3/gems/bundler-1.10.6/lib/bundler.rb:134:in `require'
    /var/www/vhosts/launch.site.com/httpdocs/config/application.rb:7:in `&lt;top (required)&gt;'
    /var/www/vhosts/launch.site.com/httpdocs/config/environment.rb:2:in `require'
    /var/www/vhosts/launch.site.com/httpdocs/config/environment.rb:2:in `&lt;top (required)&gt;'
    config.ru:3:in `require'
    config.ru:3:in `block in &lt;main&gt;'
    /var/www/vhosts/launch.site.com/httpdocs/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
    /var/www/vhosts/launch.site.com/httpdocs/vendor/bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
    config.ru:1:in `new'
    config.ru:1:in `&lt;main&gt;'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `eval'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `preload_app'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `&lt;module:App&gt;'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `&lt;module:PhusionPassenger&gt;'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `&lt;main&gt;'
  </code></pre>
  
  <p>I've looked at what libraries <code>pg_ext.so</code> is trying to access and using <code>ldd</code> and here's the output:</p>
  
  <pre><code>$ ldd pg-0.18.4/lib/pg_ext.so
      linux-vdso.so.1 =&gt;  (0x00007ffc14a7c000)
      libruby.so.1.8 =&gt; /usr/lib64/libruby.so.1.8 (0x00007fe98291a000)
      libpq.so.5 =&gt; /usr/lib64/libpq.so.5 (0x00007fe9826f1000)
      libpthread.so.0 =&gt; /lib64/libpthread.so.0 (0x00007fe9824cb000)
      librt.so.1 =&gt; /lib64/librt.so.1 (0x00007fe9822c3000)
      libdl.so.2 =&gt; /lib64/libdl.so.2 (0x00007fe9820be000)
      libcrypt.so.1 =&gt; /lib64/libcrypt.so.1 (0x00007fe981e87000)
      libm.so.6 =&gt; /lib64/libm.so.6 (0x00007fe981c03000)
      libc.so.6 =&gt; /lib64/libc.so.6 (0x00007fe98186e000)
      libgcc_s.so.1 =&gt; /lib64/libgcc_s.so.1 (0x00007fe981658000)
      libssl.so.10 =&gt; /usr/lib64/libssl.so.10 (0x00007fe9813ec000)
      libcrypto.so.10 =&gt; /usr/lib64/libcrypto.so.10 (0x00007fe981008000)
      libgssapi_krb5.so.2 =&gt; /lib64/libgssapi_krb5.so.2 (0x00007fe980dc4000)
      libldap_r-2.4.so.2 =&gt; /usr/lib64/libldap_r-2.4.so.2 (0x00007fe980b6c000)
      /lib64/ld-linux-x86-64.so.2 (0x00007fe982e47000)
      libfreebl3.so =&gt; /usr/lib64/libfreebl3.so (0x00007fe980968000)
      libkrb5.so.3 =&gt; /lib64/libkrb5.so.3 (0x00007fe980681000)
      libcom_err.so.2 =&gt; /lib64/libcom_err.so.2 (0x00007fe98047d000)
      libk5crypto.so.3 =&gt; /lib64/libk5crypto.so.3 (0x00007fe980250000)
      libz.so.1 =&gt; /lib64/libz.so.1 (0x00007fe98003a000)
      libkrb5support.so.0 =&gt; /lib64/libkrb5support.so.0 (0x00007fe97fe2f000)
      libkeyutils.so.1 =&gt; /lib64/libkeyutils.so.1 (0x00007fe97fc2b000)
      libresolv.so.2 =&gt; /lib64/libresolv.so.2 (0x00007fe97fa11000)
      liblber-2.4.so.2 =&gt; /usr/lib64/liblber-2.4.so.2 (0x00007fe97f802000)
      libsasl2.so.2 =&gt; /usr/lib64/libsasl2.so.2 (0x00007fe97f5e7000)
      libssl3.so =&gt; /usr/lib64/libssl3.so (0x00007fe97f3a7000)
      libsmime3.so =&gt; /usr/lib64/libsmime3.so (0x00007fe97f17b000)
      libnss3.so =&gt; /usr/lib64/libnss3.so (0x00007fe97ee3b000)
      libnssutil3.so =&gt; /usr/lib64/libnssutil3.so (0x00007fe97ec0f000)
      libplds4.so =&gt; /lib64/libplds4.so (0x00007fe97ea0b000)
      libplc4.so =&gt; /lib64/libplc4.so (0x00007fe97e805000)
      libnspr4.so =&gt; /lib64/libnspr4.so (0x00007fe97e5c7000)
      libselinux.so.1 =&gt; /lib64/libselinux.so.1 (0x00007fe97e3a7000)
  </code></pre>
  
  <p>I've tried updating PostgreSQL using yum update, then gem uninstall pg and gem install pg. But I continue to get the same problem. The gem itself installs without any errors.</p>
  
  <p>I'm not really sure how to debug further. What do I need to do to install, update or reference the necessary compatible libraries?</p>
  
  <p>The server is running:</p>
  
  <ul>
  <li>CentOS 6.7</li>
  <li>psql (PostgreSQL) 8.4.20</li>
  <li>ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]</li>
  <li>rails 4.2.4</li>
  <li>pg gem 0.18.4</li>
  </ul>
  
  <p>Thanks</p>