rails install pg - Can't find the 'libpq-fe.h header
Solution 1
Just make this
$ sudo apt-get install libpq-dev
Solution 2
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
Solution 3
Try this:
- brew install postgresql
- gem install pg
- bundle install
Solution 4
On Fedora/RHEL systems this did the trick:
sudo yum install libpqxx-devel
Solution 5
- SO: Ubuntu
- Language Programming: C
$ sudo apt-get install libpq-dev
In my case I was putting the directory path wrong. So:
From: gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
To: gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
Related videos on Youtube
Arthur Yakovlev
I want create browser online game with 1 000 000 players!
Updated on July 13, 2021Comments
-
Arthur Yakovlev almost 3 years
$ 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 helpMy 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.
-
Stefan over 11 yearsHow did you install PostgreSQL?
-
skolima over 11 yearspossible duplicate of Can't find the PostgreSQL client library (libpq)
-
iconoclast over 10 yearspossible duplicate of Can't find the 'libpq-fe.h header when trying to install pg gem
-
-
Michael Lafayette over 8 yearsI tried to do that on Ubuntu 14.04 but it gave me this: " libpq-dev : Depends: libpq5 (= 9.3.4-1) but 9.3.10-0ubuntu0.14.04 is to be installed "
-
Michael Lafayette over 8 yearsBut then when I try to install libpq5, it says "libpq5 is already the newest version."
-
Michael Lafayette over 8 yearsPostgreSQL version is: psql --version: psql (PostgreSQL) 9.3.10. PostgreSQL 9.3.10 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
-
Michael Lafayette over 8 yearsI tried to do that on Ubuntu 14.04 but it gave me this: " libpq-dev : Depends: libpq5 (= 9.3.4-1) but 9.3.10-0ubuntu0.14.04 is to be installed "
-
Michael Lafayette over 8 yearsBut then when I try to install libpq5, it says "libpq5 is already the newest version." Same for PostgreSQL
-
Michael Lafayette over 8 yearsPostgreSQL version is: psql --version: psql (PostgreSQL) 9.3.10. PostgreSQL 9.3.10 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
-
Phil over 8 yearsHey Michael, I'm not sure I can answer your question because I'm not familiar with Ubuntu, but you may want to check out Michael Durrant's answer here: stackoverflow.com/a/8887801/2484523
-
itsji10dra almost 8 yearsWhy it says : No package libpqxx-devel available.
-
erichfw over 7 yearsyum list libpq* followed by yum install libpqxx-devel.x86_64
-
Ben Johnson over 7 yearsBrilliant! The application I was compiling also needed the path to
libpq-fe.h
to be specified explicitly, with--with-cflags=-I/usr/include/postgresql
, in case anyone else encounters the same. -
IronMan007 almost 7 yearsFor those of you wondering what libpq-dev means: It contains a minimal set of
PostgreSQL
_ binaries and headers requried for building 3rd-party applications forPostgreSQL
_. -
Marcus about 6 yearsWorked on Red Hat EL7. I was getting the header file missing during a Perl install of DBD::Pg.
-
ramesh.mimit about 6 yearsfor Amazon linux, <code>yum install libpqxx-devel</code> fixes the issue
-
DaveGauer almost 6 yearsAh! Excellent. The specific version (9.6) was my roadblock on AMI as well.
-
David Gay almost 6 yearsThis is the answer for a CentOS droplet on Digital Ocean.
postgresql-devel
needs to be installed. -
lowly_junior_sysadmin over 5 yearsOn CentOS6 'sudo yum install libpq*' installed the correct dependencies for me to gem install pg successfully.
-
Scott Schupbach over 4 yearsThis was what ended up working for me, or at least the Mac version of it, which is
brew install libpq
. I then also had tobrew link --force libpq
to get thegem install pg
to finish successfully. -
HoangLM over 3 yearsYou saved my day! Finding the correct devel version really help!
-
kHarshit over 3 yearsIn Ubuntu, in C++, you may want to use
#include <postgresql/libpq-fe.h>
instead of#include <libpq-fe.h>
. -
bplittle about 3 yearsFor those of you experiencing this but also see "libpq5 is already the newest version." when you try to install, try
sudo apt-get remove libpq-dev
and then installing it again. Worked for me. -
Masroor over 2 yearshow do we find the path to
pg_config
, doingwhere pg_config
returnspg_conf
not found. -
Josh Mathews over 2 yearsNote: If you installed the postgres app directly, you should instead run
brew install libpq