Reputation: 2501
WhenI run (as root)
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
I get the following output:
#-> gem instal pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Building native extensions. This could take a while...
Successfully installed pg-0.12.0
1 gem installed
Installing ri documentation for pg-0.12.0...
Installing RDoc documentation for pg-0.12.0...
#->
When I run bundle install:
Installing pg (0.12.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-1.9.2-p290/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
--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/rvm/rubies/ruby-1.9.2-p290/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 /var/www/simpletrac/vendor/cache/ruby/1.9.1/gems/pg- 0.12.0 for inspection.
Results logged to /var/www/simpletrac/vendor/cache/ruby/1.9.1/gems/pg-0.12.0/ext/gem_make.out
An error occured while installing pg (0.12.0), and Bundler cannot continue.
Make sure that `gem install pg -v '0.12.0'` succeeds before bundling.
I have libpq-fe.h installed at /usr/pgsql-9.1/include/libpq-fe.h. So, I tried
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config --with-pg-lib=/usr/pgsql-9.1/include/libpq-fe.h but still no go.
Any help would be greatly appreciated.
Also, I have installed postgresql91-devel and ruby-devel. Running CentOS 6.
Upvotes: 83
Views: 82282
Reputation: 4217
If you are not sure where your pg_config
is, and assuming you are on Linux or Mac, you can run the following command:
which pg_config
This will return /usr/pgsql-9.1/bin/pg_config
Now use this path as
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
And we are ready to go bundle install
Upvotes: 22
Reputation: 1
I am using mac and didn't want to install postgresql locally.
Installing libpq and setting the bundler config worked for me.
Upvotes: -1
Reputation: 114
in OSX, first install pg:
brew install postgresql
second, do gem install:
gem install pg --source 'https://rubygems.org/'
you can then run bundle install
Upvotes: 0
Reputation: 321
Somes cases on UBUNTU
sudo apt-get install libpq-dev
On CentOS 7
sudo yum install postgresql-devel
Then
bundle install
this worked for me.
Upvotes: 2
Reputation: 3731
Make sure you have postgress installed. if not install it first. Using terminal for example.
brew install postgresql
After that run
bundle install
Upvotes: 1
Reputation: 27889
bundle config build.pg --with-pg-config=`which pg_config` && bundle
Visit for more information:
- http://bundler.io/v1.3/man/bundle-config.1.html
- https://github.com/nlopes/pg/blob/master/readme-os_x.rdoc
The first thing you should do is ensure that the 'pg_config' tool that comes with Postgres is in your path. If it isn't, or the one that's first in your path isn't the one that was installed with the Postgres you want to build against, you can specify the path to it with the –with-pg-config option.
Source: https://github.com/ged/ruby-pg/blob/1f274f68c16f1af1c642db1b9d3d28aef169dc84/ext/extconf.rb#L27
Upvotes: 12
Reputation: 23
This link suggested using:
gem install pg --pre
I couldn't get the pg gem
to install for days,but this method finally worked for me. Hope this will be helpful.
Upvotes: 1
Reputation: 79
When do you use postgresapp on Mac, read the http://postgresapp.com/documentation/cli-tools.html documentation and Configure your $PATH. Before this try run the bundle install again.
Upvotes: 1
Reputation: 3107
I am using Arch Linux, and was having similar problems. Used sudo pacman -S libpqxx
and reran then installed the pg gem and then ran bundle install
again, and this time it finally worked!
Upvotes: 2
Reputation: 86
I'm on Mac and i use Homebrew, so to fix this issue i just installed postgresql with brew:
brew install postgresql
And then installed the gem.
Upvotes: 4
Reputation: 44700
Have you tried running this before running bundle install
?
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
See http://bundler.io/v1.3/bundle_config.html
Upvotes: 201
Reputation: 49132
The Postgres gem can't find the Postgres configuration file. You need to tell it where it is. The most enjoyable solution to this in my opinion is to skip Brew and MacPorts and just use the Postgres app. Download and install from here:
Now add the bin folder to your path:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
You may also wish to add this to your ~/.bash_profile
Now install the gem:
gem install pg
it should go smoothly.
Upvotes: 5
Reputation: 275
I had to do this to fix mine on OS X:
export PATH=/opt/local/lib/postgresql84/bin/:$PATH
And I had to do it despite the fact that I already had this in my path:
[user@foo ~] which psql84
/opt/local/bin/psql84
[user@foo ~] ls -altrh /opt/local/bin/psql84
lrwxr-xr-x 1 root admin 36B Dec 7 02:15 /opt/local/bin/psql84 -> /opt/local/lib/postgresql84/bin/psql
I hope that helps another Mac user with this problem.
Upvotes: 3
Reputation: 319
Had the same problem, fixed by installing libpq-dev.
Ref: https://bitbucket.org/ged/ruby-pg/issue/83/help-gem-install-pg-failed-on-opensuse-103
Upvotes: 7
Reputation: 622
You can get this error if you have pg_config installed but its not in any path. You can add it to your PATH env in your ~/.bashrc.
For example.
export PATH=${PATH}:/usr/pgsql-9.2/bin
Upvotes: 5
Reputation: 1484
In case somebody used macports to install postgres and are having problems finding their pg_config, try this:
bundle config build.pg --with-pg-config=/opt/local/lib/postgresql91/bin/pg_config
I hope this helps somebody save some time. Cheers!
Upvotes: 23