2014-11-20 12 views
5

Ruby-2.1.5'i yüklemek için RVM'yi kullandım ve paketi yeniden çalıştırdım. Şimdi pg mücevher yüklenmez ve bu hatayı alıyorum:gem install pg hatası: kern.osversion '14.0.0' 'ı Yosemite w/Ruby üzerinde anlamadı 14.0.0

gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 
Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config' 
This could take a while... 
ERROR: Error installing pg: 
    ERROR: Failed to build gem native extension. 

    /Users/diego/.rvm/rubies/ruby-2.1.5/bin/ruby -r ./siteconf20141120-33258-108chh6.rb extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 
Using config values from /Applications/Postgres.app/Contents/Versions/9.3/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 PQescapeLiteral()... yes 
checking for PQescapeIdentifier()... 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 PQlibVersion()... yes 
checking for PQping()... yes 
checking for PQsetSingleRowMode()... yes 
checking for rb_encdb_alias()... yes 
checking for rb_enc_alias()... yes 
checking for rb_thread_call_without_gvl()... yes 
checking for rb_thread_call_with_gvl()... yes 
checking for rb_thread_fd_select()... yes 
checking for rb_w32_wrap_io_handle()... no 
checking for PGRES_COPY_BOTH in libpq-fe.h... yes 
checking for PGRES_SINGLE_TUPLE in libpq-fe.h... yes 
checking for PG_DIAG_TABLE_NAME in libpq-fe.h... 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 "DESTDIR=" clean 

make "DESTDIR=" 
compiling gvl_wrappers.c 
compiling pg.c 
compiling pg_connection.c 
compiling pg_errors.c 
compiling pg_result.c 
linking shared-object pg_ext.bundle 
couldn't understand kern.osversion `14.0.0' 
ld: warning: directory not found for option '-L/Users/mpapis/.sm/pkg/active/lib' 
ld: -rpath can only be used when targeting Mac OS X 10.5 or later 
collect2: ld returned 1 exit status 
make: *** [pg_ext.bundle] Error 1 

make failed, exit code 2 

Ben güncelledik XCode sürümü 6.1 App Store üzerinden. Gcc ve applegcc-4.2'yi homebrew ile yeniden kurdum. Ayrıca Postgres.app'ı da yeniden yüklüyorum. here ve here önerilen çözümleri denedim boşuna.

Bundan sonra ne deneyeceğimiz hakkında bir fikriniz var mı? Şimdilik, yalnızca, pg'nin iyi kurulduğu Ruby-2.1.4'e geri dönüyorum.

+1

Formül ve Homebrew'un kendisini güncellemek için 'brew update'i denediniz mi ve eski ruby ​​klasörlerini silmek için' rvm temizleme '...? – konyak

+0

Yerel uzantılar genellikle sistem araçlarına bağımlıdır. Şu anda bağımlılık xode-komut satırı araçlarıyla donatılmalıdır. Xcode-select --install 'seçeneğini deneyin. Bu, http://stackoverflow.com/q/26486163 –

+0

'a benzemeye benziyor. Ben demlemek güncellemeyi ve rvm temizlemeyi denedim. Xcode select'i denediğim ilk şey, yazılım güncellemesi aracılığıyla güncellenmiş bir mesajın çıkıp çıktığı mesajını veriyor. Bunu daha sonra yaptım. Yine aynı hata :( – DiegoSalazar

cevap

13

pg gemini derlemeden önce ortamınızda MACOSX_DEPLOYMENT_TARGET=10.9 ayarlarsanız, paylaşılan nesne bağlantısı düzgün şekilde çalışmalıdır.

+0

çalıştı. Bu kadar kolay mı? Harikasın. – DiegoSalazar

+0

Canlı vermek için. :) – Sasha

+0

Teşekkürler, sadece ihracat MACOSX_DEPLOYMENT_TARGET = 10.9' olan kayıt için – simo

İlgili konular