簡體   English   中英

RVM在OSX 10.8.2上為i386而不是x86_64安裝Ruby

[英]RVM installing Ruby for i386 rather than x86_64 on OSX 10.8.2

我已經在兩台不同的OSX 10.8.2機器上安裝了Ruby / Gem / Rails。 在我嘗試安裝包含pg之類的本機代碼的gem之前,一個工作正常,另一個工作正常。 當我做

gem install pg -v 0.12.2 

它失敗並顯示“找不到PostgeSQL客戶端庫(libpq)。

如果我看mkmf.log,我會看到:

have_library: checking for PQconnectdb() in -lpq... -------------------- no "gcc-4.2 -o conftest -I/Users/brian/.rvm/rubies/ruby-1.9.3-p286/include/ruby-1.9.1/i386-darwin12.2.0 -I/Users/brian/.rvm/rubies/ruby-1.9.3-p286/include/ruby-1.9.1/ruby/backward -I/Users/brian/.rvm/rubies/ruby-1.9.3-p286/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/include -I/Users/brian/.rvm/usr/include -fno-common -pipe conftest.c -L. -L/Users/brian/.rvm/rubies/ruby-1.9.3-p286/lib -L. -L/Users/brian/.rvm/usr/lib -L/usr/local/lib -L/usr/lib -lruby.1.9.1 -lpq -lpthread -ldl -lobjc " ld: warning: ignoring file /usr/local/lib/libpq.dylib, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /usr/local/lib/libpq.dylib Undefined symbols for architecture i386: "_PQconnectdb", referenced from: _t in ccLXteQk.o

我相信這是由於被忽略的庫是一個64位的庫(就像我想要的),但是我的ruby安裝是32位的(出於某種原因)。 作為證據,在可以運行的機器上,我看到了

~/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin12.2.0/ruby/config.h

在失敗的那一個

~/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/i386-darwin12.2.0/ruby/config.h

很抱歉,冗長的解釋。 我嘗試了很多事情來嘗試設置架構

rvm install 1.9.3

產生這些目錄。 我沒有做出任何努力來促使“不良”計算機生成包含所需的64位二進制文​​件的include目錄。 我沒有有意識地在這兩個版本中的任何一個上設置體系結構,因此我感到困惑的是,在“壞”機器的環境中,什么導致ruby安裝認為它應該構建32位二進制文​​件。 有任何想法嗎?

您可以將拱形標志傳遞給我確實相信的標志。 gem install pg -- --arch-flags='i386'

或pg接受的所有拱形標志。 還應該是一個標志,您可以通過它來定義拱門類型(使它可以找到)

您也可以說gem install pg -- --with-pg-include=/path/to/pg/include --with-pg-dir=/path/to/pg_config

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM