I ran bundle update (so that I can install rails), but got this error:
$ bundle update
..... < other stuff ....>
Installing pg (0.14.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/user/.rvm/rubies/ruby-1.9.3-p374/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.
I'm new to Ruby and all this, could anyone tell me what is wrong here?
This is on OSX
Make sure ton install postgres first. I suggest you do so via homebrew, the Mac package manager.
brew install postgresql
Here is one of the many tutorials on how-to install postgres on a Mac.
EDIT
Looks like the gem can't find your postgres config, here's an answer similar to your problem:
https://stackoverflow.com/a/9669523/277370
Related
UGH... I broke my (formerly functioning) Rails setup - under OS X Yosemite. I did so using Homebrew to update my version of Git. After getting Git where I want it, running 'rails c' gives these errors:
/Users/grogers/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/pg-0.16.0/lib/pg.rb:4:in `require': dlopen(/Users/grogers/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/pg-0.16.0/lib/pg_ext.bundle, 9): Library not loaded: /usr/local/lib/libpq.5.6.dylib (LoadError)
Referenced from: /Users/grogers/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/pg-0.16.0/lib/pg_ext.bundle
Reason: image not found - /Users/grogers/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/pg-0.16.0/lib/pg_ext.bundle
Seeing the reference to pg_ext, I tried to verify pieces of my postgresql installation. If I try 'gem install pg' or try to update the gem with bundler, I get this:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/grogers/.rbenv/versions/2.0.0-p353/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/local/bin/pg_config
*** 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.
I'm probably making my problem worse, but I went back and redid a 'brew install postgres' but still get the same error.
Any help appreciated. Thank you!
Did you also upgrade Postgresql via Homebrew? If not, what version of Postgres are you running, and how do you install it?
If you did upgrade your Postgres you'll need to rebuild the native bindings for the pg gem: gem uninstall pg && gem install pg.
I have tried installing the packet libpq-dev, and installing postgresql, but bundle install still fails due to gem pg. This is the error I get:
$ gem install pg -v '0.15.1'
Building native extensions. This could take a while...
/.rvm/rubies/ruby-1.9.3-
p484/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb:73: warning: Insecure
world writable dir /usr/local in PATH, mode 040777
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/.rvm/rubies/ruby-1.9.3-p484/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.
What is a proper way to clean up the mess?
If you are on Mac, install Homebrew and then install Postgres using the command
brew install postgresql
Or you can download and install Postgres from here depending on which OS you are using.
There isn't any "mess" - it's a standard issue where your system does not have the required libraries to install the gem
Library
As mentioned in the comments, you first need to install PGSQL, which will create the required library files to help the gem install, after that you can use some path references to help the gem install:
gem install pg -- --with-pg-dir="C:/Program Files/installer
This question already has answers here:
Rails: Installing PG gem on OS X - failure to build native extension
(15 answers)
Closed 7 years ago.
when running bundle install (or gem install pg) i get the following error i have already tried fixing the xcode command line tools
/Users/josh/.rvm/rubies/ruby-2.0.0-p353/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.
Ruby 2.0.0
Rails 4.0.2
OSX 10.9.1
I just had this same problem today and this answer solved it for me.
https://stackoverflow.com/a/19620569/91970
Hope that helps.
Summary
brew update
brew install postgresql
bundle install
For reference, the code #marcamillion is linking to:
brew update
brew install postgresql
bundle install
I had the same problem .. I've modified Gemfile.lock and replaced pg (0.17.1) with pg(0.18.1) only.
Download PostgreSQL 9.4 and installed in system
use following command to install pg now
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
When running 'bundle install' I get the following error message.
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/name/.rvm/rubies/ruby-2.0.0-p247/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.
I've tried installing http://postgresapp.com/
but I am still getting the issue? Any ideas?
you need to pass a couple of options on the command line. like this
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
If you installed postgres to a different location then you'll need to fix up the path to the pg_config file.
checking for libpq-fe.h... *** extconf.rb failed ***
Seems to be the issue, it's from this tail:
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/elephanttrip/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/local/bin/pg_config
checking for libpq-fe.h... *** 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.
My steps to reproduce this on a Mountain Lion Mac OS is :
brew install postgresql
env ARCHFLAGS="-arch x86_64" gem install pg
I've tried to pinpoint different pg_config's through my computer. The one in Brew's cellar, the one cp'd by Brew to /user/local, and another one that might have been from a previous download of it. None of them work.
UPDATE
Just tried to install without the config-options. And got an lol:
ruby extconf.rb --without-pg-config
checking for pg_config... yes
I started imagining that my issue had something to do with RVM as the bottom of the trace it said.. :
"You need to download development tools"
Then I did :
$ rvm autolibs enable
$ rvm requirements
Then I went ahead and just updated my ruby ( if you don't do this, then I recommend just reinstalling it your current one. I could not do this without autolibs enable ) :
$ rvm install ruby-2.0.0-p0
Boom! Solved!!!! (:D :D :D :D :D) x 1,000,000