2012-07-23 40 views
0

使用時間機器備份將我運行Leopard的macbook中的文件同步到運行Lion的macbook pro。由於我正在運行sqlite3,因此無法推送到heroku,因此我試圖安裝一個pg gem。錯誤在豹到獅子升級後安裝pg gem和運行服務器

gem install pg 

產量:

 /Users/taylorjackson/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for pg_config... yes 
Using config values from /usr/local/bin/pg_config 
checking for libpq-fe.h... *** 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. 

我是一個Unix小白和擔心有什麼東西極其錯誤與通過時光機與64位獅混搭32位豹創建的文件結構。我已採取的步驟到目前爲止。

重新安裝的XCode

Xcode 4.3.3 
Build version 4E3002 

安裝在XCode的命令行工具的偏好。

rvm get head 

撞頭靠牆試圖與MacPorts的本地安裝postgre更新爲RVM 1.14.6(主)。卸載的MacPorts和安裝自制

其次從

brew doctor 

區域經濟共同體則

釀造安裝PostgreSQL

跑進蟒蛇問題,並隨後建議安裝W/O蟒蛇

brew install --no-python postgresql 

似乎得到了一個乾淨的安裝postgresql,BU牛逼從

gem install pg 

我的輸出仍然是:

 /Users/taylorjackson/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for pg_config... yes 
Using config values from /usr/local/bin/pg_config 
checking for libpq-fe.h... *** 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. 

也試過

bundle install 

bundle config build.pg --with-pg-config=/users/taylorjackson/postgresql/bin/pg_config 
bundle install 

具有相同的結果 我對7小時的生產率哈一無所有。找不到相關的mkmf.log文件。任何其他想法?

編輯:

找到mkmf.log。以下是相關內容:

def have_devel? 
    unless defined? $have_devel 
    $have_devel = true 
    $have_devel = try_link(MAIN_DOES_NOTHING) 
    end 
    $have_devel 
end 

def try_do(src, command, &b) 
    unless have_devel? 
    raise <<MSG 
The complier failed to generate an executable file. 
You have to install development tools first. 
MSG 
    end 
    begin 
    src = create_tmpsrc(src, &b) 
    xsystem(command) 
    ensure 
    log_src(src) 
    rm_rf 'conftest.dSYM' 
    end 
end 
+0

關於搜索「gem install Lion」,有很多幾乎相同的問題。在發佈之前你有沒有搜索過,如果是的話,現有的答案沒有幫助? – 2012-07-23 23:45:14

+0

我花了差不多4個小時的時間通過相關的線索,(因此我的長篇初始文章主要來自SE建議)。似乎有很多相關的奇怪的文件結構意外事件 - 所有機器都依賴。在我的情況下,不知怎的,我的postgresql安裝位置創建了一個新的本地用戶(儘管我沒有更改任何默認位置 - 安裝到/ usr/root也許??),並引導gem安裝尋找本地pg安裝在錯誤的地方。重置和刪除用戶(+原始帖子中提到的其他所有內容)將事情設置得筆直。 – TronSawyer 2012-07-24 15:22:39

+0

啊,謝謝。我只問'我已經看到了真正激增的v.similar職位重新對紅寶石pg jem在OSX獅子最近。如果你鏈接到相關的帖子,幫助,尤其是因爲它會幫助其他人遲到找到你的問題。 – 2012-07-25 00:30:07

回答

1

您發現該文件是mkmf.rb,不mkmf.log。該mkmf.log將看起來像這樣開頭:

find_executable: checking for pg_config... -------------------- yes 

-------------------- 

find_header: checking for libpq-fe.h... -------------------- yes 
"/usr/bin/gcc-4.2 -o conftest -I/Users/mgranger/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/mgranger/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/mgranger/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I. -I/Users/mgranger/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -L. -L/Users/mgranger/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/mgranger/.rvm/usr/lib -L. -L/usr/local/lib -L/usr/lib  -lruby.1.9.1 -lpthread -ldl -lobjc " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main() {return 0;} 
/* end */ 

您可以在解壓縮的寶石「分機」目錄中找到它。bash下,這個工作對我來說:

less $(dirname $(gem which pg))/../ext/mkmf.log 

在OSX中,未能在第一頭幾乎總是有一些問題,你的編譯器設置的標誌,特別是如果它發現你的pg_config(和它看起來像你一樣) 。看看在引號開頭的'gcc'實際上在您的機器上存在。在我的情況下,這是/usr/bin/gcc-4.2。如果缺少,你需要在之前修復任何擴展將從源安裝正確。

另一方面,如果您的gcc確實存在,請附上mkmf.log文件,該文件通常會包含必要的線索,以便您指向正確的方向。

+0

謝謝!這可能也是答案的一部分。我沒有重新安裝gcc。 – TronSawyer 2012-07-25 15:43:46

+0

在我的情況下,文件mkmf.log被找到使用: find/usr/lib/ruby​​/-name * .log – Sylvain 2013-03-04 10:51:25

0

重新啓動,並注意到PostgreSQL已被添加爲用戶(!)。刪除了用戶,將gem'pg'添加到安裝的gemfile和bundle中,整個過程順利進行。不知道安裝過程中會發生什麼奇怪的事情。我沒有更改安裝中的任何默認設置 - 但我的猜測是使用過時版本的macports時出現問題。

對於處於類似情況的人,我建議1)切勿使用時間機器備份切換操作系統。 2)清潔安裝xcode,xcode開發人員工具(來自xcode首選項菜單)和自制軟件。 3)強制更新rvm 4)用brew安裝postgresql在本地安裝postgresql。 5)重新啓動並嘗試重新安裝pg gem的bundle。我做了很多東西,但我認爲這些是我認爲有效的步驟。

+0

FYI。通常PostgreSQL在自己的用戶帳戶下運行。刪除它,你可能會導致在默認配置上運行它的問題。 – 2012-09-27 01:54:46