Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rails install pg - Can't find the 'libpq-fe.h header

$ sudo bundle install 

Result

Fetching gem metadata from https://rubygems.org/........... Fetching gem metadata from https://rubygems.org/.. Using rake (0.9.2.2)  Using i18n (0.6.1)  Using multi_json (1.3.6)  Using activesupport (3.2.8)  Using builder (3.0.4)  Using activemodel (3.2.8)  Using erubis (2.7.0)  Using journey (1.0.4)  Using rack (1.4.1)  Using rack-cache (1.2)  Using rack-test (0.6.2)  Using hike (1.2.1)  Using tilt (1.3.3)  Using sprockets (2.1.3)  Using actionpack (3.2.8)  Using mime-types (1.19)  Using polyglot (0.3.3)  Using treetop (1.4.11)  Using mail (2.4.4)  Using actionmailer (3.2.8)  Using arel (3.0.2)  Using tzinfo (0.3.33)  Using activerecord (3.2.8)  Using activeresource (3.2.8)  Using bundler (1.2.1)  Using coffee-script-source (1.4.0)  Using execjs (1.4.0)  Using coffee-script (2.2.0)  Using rack-ssl (1.3.2)  Using json (1.7.5)  Using rdoc (3.12)  Using thor (0.16.0)  Using railties (3.2.8)  Using coffee-rails (3.2.2)  Using jquery-rails (2.1.3)  Installing pg (0.14.1) with native extensions  Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.          /usr/bin/ruby1.8 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=/usr/bin/ruby1.8     --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/lib/gems/1.8/gems/pg-0.14.1 for inspection. Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out An error occurred while installing pg (0.14.1), and Bundler cannot continue. Make sure that `gem install pg -v '0.14.1'` succeeds before bundling. 

I am make $ gem install pg -v '0.14.1' But this is not help

My Gemfile

source 'https://rubygems.org'  #gem 'rails', '3.0.9'  #gem 'sqlite3', '1.3.6', :group => :development   gem 'rails', '3.2.8'  # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git'   gem 'sqlite3' gem 'pg' gem 'taps'  gem 'json'  # Gems used only for assets and not required # in production environments by default. group :assets do   gem 'sass-rails',   '~> 3.2.3'   gem 'coffee-rails', '~> 3.2.1'    # See https://github.com/sstephenson/execjs#readme for more supported runtimes   # gem 'therubyracer', :platforms => :ruby    gem 'uglifier', '>= 1.0.3' end  gem 'jquery-rails'   #group :production do   #gem 'pg' #end #group :development do   #gem 'sqlite3' #end 

gem_make.out

/usr/bin/ruby1.8 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=/usr/bin/ruby1.8     --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 

mkmf.log

find_executable: checking for pg_config... -------------------- yes  --------------------  find_header: checking for libpq-fe.h... -------------------- no  "gcc -E -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I -fno-strict-aliasing -g -g -O2  -fPIC    conftest.c -o conftest.i" conftest.c:1:22: fatal error: libpq-fe.h: No such file or directory compilation terminated. checked program was: /* begin */ 1: #include <libpq-fe.h> /* end */  -------------------- 

Help me please. Thank you.

Sorry for this text. Your post does not have much context to explain the code sections; please explain your scenario more clearly.

like image 360
Arthur Yakovlev Avatar asked Oct 26 '12 11:10

Arthur Yakovlev


2 Answers

Just make this

$ sudo apt-get install libpq-dev 
like image 179
Arthur Yakovlev Avatar answered Sep 19 '22 22:09

Arthur Yakovlev


This is answered in Can't find the 'libpq-fe.h header when trying to install pg gem

Depending on your environment:

  • Mac: brew install postgresql
  • Ubuntu: sudo apt-get install libpq-dev
  • RHEL: yum install postgresql-devel

Then run gem install pg again

like image 34
Phil Avatar answered Sep 19 '22 22:09

Phil