2012-10-26 11 views
37
$ sudo bundle install 

Risultatorotaie installare pg - Impossibile trovare il 'colpo di testa libpq-fe.h

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. 

Sono fare $ gem install pg -v '0.14.1' Ma questo non è un aiuto

mio 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. Grazie.

Siamo spiacenti per questo testo. Il tuo post non ha molto contesto per spiegare le sezioni del codice; per favore spiega più chiaramente il tuo scenario.

+0

Come hai installato PostgreSQL? – Stefan

+1

possibile duplicato di [Impossibile trovare la libreria client PostgreSQL (libpq)] (http: // stackoverflow.it/questions/6209797/cant-find-the-postgresql-client-library-libpq) – skolima

+0

possibile duplicato di [Impossibile trovare l'intestazione 'libpq-fe.h quando si tenta di installare pg gem] (http: // stackoverflow .com/questions/6040583/cant-find-the-libpq-fe-h-header-when-trying-to-install-pg-gem) – iconoclast

risposta

91

Basta fare questo

$ sudo apt-get install libpq-dev 
+4

Questo lo ha fatto per me +1 –

+5

Questo non lo ha fatto per me ... –

+0

Ho provato a farlo su Ubuntu 14.04 ma mi ha dato questo: "libpq-dev: dipende: libpq5 (= 9.3.4-1) ma 9.3.10-0ubuntu0.14.04 deve essere installato" –

1

provare questo:

sudo apt-get install libpq-dev 
gem install pg 

sarebbe funziona!

13

Prova questo:

  1. birra installare PostgreSQL
  2. gem install pg
  3. bundle install
4

Su Mac OS X gestita in questo modo:

gem install pg -- --with-pg-config=***/path/to/pg_config*** 

***/path/to/pg_config*** è percorso per pg_confi g

11

Su sistemi Fedora/RHEL questo ha fatto il trucco:

sudo yum install libpqxx-devel 
+0

Perché dice: Nessun pacchetto libpqxx-devel disponibile. – itsji10dra

+1

yum list libpq * seguito da yum install libpqxx-devel.x86_64 – erichfw

22

Questa soluzione Can't find the 'libpq-fe.h header when trying to install pg gem

seconda dell'ambiente:

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

Poi gestita gem install pg nuovo

+0

Ho provato a farlo su Ubuntu 14.04 ma mi ha dato questo: "libpq-dev: dipende: libpq5 (= 9.3.4-1) ma 9.3.10- 0ubuntu0.14.04 deve essere installato " –

+0

Ma poi quando provo a installare libpq5, si dice" libpq5 è già la versione più recente. " Lo stesso per PostgreSQL –

+0

La versione di PostgreSQL è: psql --version: psql (PostgreSQL) 9.3.10. PostgreSQL 9.3.10 su x86_64-unknown-linux-gnu, compilato da gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit –

0

Questo ha funzionato per me:

sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config 
1

Su Mac Assicurarsi che sul postgres è collegato. Puoi farlo da

brew link --overwrite postgresql 

Questo risolto il problema per me.

0

Ho riscontrato questo problema con un server Jenkins su Amazon AMI.

$ pg_config | grep VERSION 
VERSION = PostgreSQL 9.4.9 

Poi a seconda della versione è necessario è possibile installare la necessaria lib

$ sudo yum list postgresql* | grep devel 
postgresql92-devel.x86_64    9.2.18-1.59.amzn1   @amzn-main 
postgresql94-devel.x86_64    9.4.9-1.67.amzn1   @amzn-main 
postgresql8-devel.x86_64    8.4.20-5.52.amzn1   amzn-main 
postgresql93-devel.x86_64    9.3.14-1.62.amzn1   amzn-main 
postgresql95-devel.x86_64    9.5.4-1.71.amzn1   amzn-main 

Poi si può semplicemente installare la versione corrispondente, nel mio caso per la versione 9.4:

sudo yum install postgresql94-devel 
0

Io uso Ubuntu-16. E io uso il metodo mostrato qui: per installare postgresql-9.6; E io uso "sudo apt-get install libpq-dev" per installare il devlib. Ma ancora non può funzionare. Quindi uso il metodo ln per stabilire il collegamento software, eccolo: sudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/; sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/ E finalmente risolvo il problema.

Problemi correlati