How to Install Postgresql Gem on Ubuntu

Oscar Courchaine picture Oscar Courchaine · Mar 31, 2015 · Viewed 7.7k times · Source

I have Ubuntu 12.04 Precise installed via crouton on my Asus Chromebook. I have a rails application that requires postgres. When I run "bundle" it fails to install the pg gem. I try installing multiple versions of it independently and it fails. The failure report is below:

Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension.

/home/oscar/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -r ./siteconf20150331-16650-11xjo0a.rb extconf.rb checking for

pg_config... yes Using config values from /usr/bin/pg_config You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. checking for libpq-fe.h... no Can't find the 'libpq-fe.h header * 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/oscar/.rvm/rubies/ruby-1.9.3-p551/bin/ruby --with-pg --without-pg --enable-windows-cross --disable-windows-cross --with-pg-config --without-pg-config --with-pg_config --without-pg_config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/lib

extconf failed, exit code 1

Gem files will remain installed in /home/oscar/.rvm/gems/ruby-1.9.3-p551/gems/pg-0.18.1 for inspection. Results logged to /home/oscar/.rvm/gems/ruby-1.9.3-p551/extensions/x86_64-linux/1.9.1/pg-0.18.1/gem_make.out

I also tried to install it using brew. The files downloaded, and seem to install but when I run "brew upgrade postgresql" it says that postgresql doesn't exits. I am all out of ideas, and I haven't been able to find anyone else with my problem.

Answer

jcuenod picture jcuenod · Mar 31, 2015

As far as I can tell, where it says "You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application" it means that you need to install packages on your system for the gems to work.

So on fedora I had to yum install postgresql-devel. Since you're on Ubuntu I think you need to do

sudo apt-get install libpq-dev

You may also need build-essential so you could run

sudo apt-get install libpq-dev build-essential