2012-03-23 14 views
8

Cercare di installare la gemma pg mi dà errori.Problemi nell'installazione di pg gem

Sto usando Ruby 1.9.3-p125 costruito utilizzando rbenv/ruby-build. Ho installato PostgreSQL usando il programma di installazione one-click. Sono in grado di connettermi al DB usando pgAdmin. Sono a corto di idee.

% gem install pg                                                  ~ 
Building native extensions. This could take a while... 
ERROR: Error installing pg: 
    ERROR: Failed to build gem native extension. 

     /Users/sandropadin/.rbenv/versions/1.9.3-p125/bin/ruby extconf.rb 
checking for pg_config... yes 
Using config values from /usr/bin/pg_config 
checking for libpq-fe.h... yes 
checking for libpq/libpq-fs.h... yes 
checking for pg_config_manual.h... yes 
checking for PQconnectdb() in -lpq... yes 
checking for PQconnectionUsedPassword()... yes 
checking for PQisthreadsafe()... yes 
checking for PQprepare()... yes 
checking for PQexecParams()... yes 
checking for PQescapeString()... yes 
checking for PQescapeStringConn()... yes 
checking for PQgetCancel()... yes 
checking for lo_create()... yes 
checking for pg_encoding_to_char()... yes 
checking for pg_char_to_encoding()... yes 
checking for PQsetClientEncoding()... yes 
checking for rb_encdb_alias()... yes 
checking for rb_enc_alias()... yes 
checking for struct pgNotify.extra in libpq-fe.h... yes 
checking for unistd.h... yes 
checking for ruby/st.h... yes 
creating extconf.h 
creating Makefile 

make 
compiling pg.c 
compiling pg_connection.c 
pg_connection.c: In function ‘pgconn_wait_for_notify’: 
pg_connection.c:1986: warning: ‘rb_thread_select’ is deprecated (declared at /Users/sandropadin/.rbenv/versions/1.9.3-p125/include/ruby-1.9.1/ruby/intern.h:379) 
pg_connection.c: In function ‘pgconn_block’: 
pg_connection.c:2512: warning: ‘rb_thread_select’ is deprecated (declared at /Users/sandropadin/.rbenv/versions/1.9.3-p125/include/ruby-1.9.1/ruby/intern.h:379) 
compiling pg_result.c 
linking shared-object pg_ext.bundle 
ld: in /usr/local/lib/libssl.0.9.8.dylib, missing required architecture x86_64 in file for architecture x86_64 
collect2: ld returned 1 exit status 
make: *** [pg_ext.bundle] Error 1 


Gem files will remain installed in /Users/sandropadin/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/pg-0.13.2 for inspection. 
Results logged to /Users/sandropadin/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/pg-0.13.2/ext/gem_make.out 
+2

Dove hai preso la tua libssl da? Sembra che tu stia cercando di mixare binari a 32 bit e 64 bit. –

+0

Penso solo a usare 'brew install openssl' – Sandro

+0

Penso che tu abbia ragione nel mixare i due, ma non so se sia possibile o come forzare Homebrew a compilare openssl come 64-bit – Sandro

risposta

14

Non è sicuro quale dei seguenti passaggi abbia finalmente risolto il problema. Ma dato che mu è troppo corta, il problema era mescolare binari a 32 bit e 64 bit.

  • prima, ho installato questo 64-bit version of PostgreSQL
  • secondo, ho disinstallato qualsiasi vecchio installazione Homebrew OpenSSL

    $ birra disinstallazione openssl

  • 3rd, ho installato il 64-bit versione di OpenSSL con Homebrew

    $ brew installare --64 bit openssl

  • Infine, quando si installa la gemma pg, ho cambiato il LDFLAGS per puntare alla versione a 64 bit di OpenSSL

    $ gem install pg - --with-LDFLAGS = '- L/usr/local/Cantina/openssl/0.9.8s'

+1

Devo dire che I Ho lottato per ottenere la gemma 'pg' da compilare sulla mia copia di Lion per circa 6 mesi. Ora questa risposta è arrivata, e sono in grado di eseguire Rails 3.2 + PostgreSQL come un campione. Grazie! –

+1

Questo ha funzionato per me su Mountain Lion, rubino 1.9.3p194 (revisione 2012-04-20 35410) [x86_64-darwin12.0.0]. Ho usato 'brew install postgresql', e non avevo già openssl, quindi solo' brew install --64-bit openssl' e poi ho usato il LDFLAGS fornito. – thugsb

+0

funziona alla grande, tranne che la versione di openssl è stata spostata (ora alla 1.0.1c). Un utente dovrà usare cd/usr/local/Cellar/openssl/ed eseguire 'ls' per vedere il loro numero di versione –

Problemi correlati