Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PostgreSQL gem pg was unable to install

My DB is PostgreSQL.I am on CENTOS.... While installing the pg gem I received the following error. I reinstalled to clear my YAML problem also, which didn't work, but it is just a warning. My main problem is the installation of the pg gem:

[root@vdimc04 ~]# gem install pg
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
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=/usr/local/bin/ruby
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.14.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.14.1/ext/gem_make.out

I also tried with the following command, but to no use:

 gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
like image 871
Pavan Kumar Avatar asked Dec 04 '12 12:12

Pavan Kumar


6 Answers

I got the same error on Centos. By googling I found two commands to use:

  1. yum install postgresql-libs -- It gave me message saying, its already installed.
  2. yum install postgresql-devel -- It solved my error related to pg_config for installing the 'pg' .gem.

Hope it helps :)

apos wrote: on Ubuntu 14.04 install:

  1. apt-get install postgresql-server-dev-9.3 libpq-dev
like image 70
Prem Avatar answered Oct 05 '22 19:10

Prem


Here's my recipe for getting PostgreSQL, RVM, Ruby, Rails all up and running on CentOS

PostgreSQL

First, follow the instructions on http://wiki.postgresql.org/wiki/YUM_Installation to get PostgreSQL installed:

sudo vi /etc/yum.repos.d/CentOS-Base.repo

[base]
exclude=postgresql*

[updates]
exclude=postgresql*

Get the latest PGDG RPM file (for your platform/architecture), for example:

curl -O http://yum.postgresql.org/9.2/redhat/rhel-latest-x86_64/pgdg-redhat92-9.2-7.noarch.rpm

Then

sudo rpm -ivh pgdg-redhat92-9.2-7.noarch.rpm
sudo yum install -y postgresql92-server postgresql92-devel

Initialize the database:

sudo service postgresql-9.2 initdb

Configure /var/lib/pgsql/9.2/data/postgresql.conf and /var/lib/pgsql/9.2/data/pg_hba.conf as needed.

Start PostgreSQL server:

sudo service postgresql-9.2 start

RVM

sudo yum -y groupinstall "Development Tools"
sudo yum -y install zlib zlib-devel sqlite-devel httpd curl-devel httpd-devel apr-devel apr-util-devel mlocate man libxml2-devel libxslt-devel libffi-devel readline-devel

Note, NOT as root:

\curl -L get.rvm.io | sudo bash -s stable

Logout and back on. Afterwards, which rvm should reply with /usr/local/rvm/bin/rvm and type rvm|head -1 should say rvm is a function.

Ruby + Rails

rvm install 1.9.3 --with-openssl-dir=/usr
rvm use 1.9.3 --default
gem install rake
gem install rails

PostgreSQL gem

gem install pg -- --with-pg-config=/usr/pgsql-9.2/bin/pg_config

The --with-pg-config is somehow needed with my latest installation of CentOS, otherwise, gem install pg can't find pg_config. YMMV, but if you follow all the above to the letter (which I've done enough times in the past few months) just let me know if anything trips you up.

like image 43
Alistair A. Israel Avatar answered Oct 05 '22 17:10

Alistair A. Israel


try installing libpq package by doing:

sudo apt-get install libpq-dev

That package helps with pg gem and you should be fine after that :)

like image 34
oFca Avatar answered Oct 05 '22 17:10

oFca


Try This, the answer is not mine but it worked for me. Remember to point to where your Postgres.app application is:

bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

Then do

bundle update
bundle install
like image 36
selaromi Avatar answered Oct 05 '22 19:10

selaromi


$ sudo apt-get install libpq-dev
$ sudo apt-get install libdbd-pg-ruby1.8

then:

$ sudo apt-get install pg  

for CentOS please read the below link..

http://wiki.postgresql.org/wiki/YUM_Installation

To install pg in centOS

run this commands

bundle config build.pg 

gem install pg -v '0.12.0'
like image 32
vijikumar Avatar answered Oct 05 '22 18:10

vijikumar


Try to install postgresql server and corresponding libraries. Then install the pg gem. Then it will work for u

like image 40
chinnabujji Avatar answered Oct 05 '22 18:10

chinnabujji