2012-07-23 14 views
0

Leopard를 실행하는 MacBook에서 Lion을 실행하는 MacBook Pro로 파일을 동기화하는 데 사용되는 Time Machine 백업. 내가 sqlite3을 실행하고 있다는 사실 때문에 heroku로 밀어 넣는 데 어려움을 겪은 후, 나는 pg 보석을 설치하려고 할 때 토끼 구멍에 내려갔습니다.Error Leopard에서 Lion으로 업그레이드 한 후 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. 

나는 유닉스 멍청한 놈이야 비트 및 64 비트 사자와 32 비트 표범을 매쉬업 시간 기계에 의해 생성 된 파일 구조와 깊이에 뭔가 문제가있어 우려하고있다. 지금까지 내가 취한 조치.

Xcode 4.3.3 
Build version 4E3002 

설치 명령 줄 도구 엑스 코드에서 환경 설정에서 다시 설치 엑스 코드.

는 벽에

rvm get head 

부딪 혔어요 머리 MacPorts를 사용하여 로컬 postgre를 설치하려고으로 RVM 1.14.6 (마스터)으로 업데이트되었습니다.

brew doctor 

에서 MacPorts를을 제거하고 사제 설치

이어 RECS 다음

양조는 PostgreSQL을 설치

파이썬 문제로 실행 및/파이썬 오

brew install --no-python postgresql 
승 설치하는 조언을 따라

은 postgresql, bu를 새로 설치하는 것처럼 보였습니다.

gem install pg 

에서 내 출력을 t은 여전히 ​​:

 /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. 

은 또한 동일한 결과 지난 7 시간 동안 내 생산성

bundle install 

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

시도 하아 아무것도 안했어. 관련 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"검색에 거의 동일한 질문이 많이 있습니다. 게시하기 전에 검색 했습니까? 그렇다면 기존 답변이 도움이되지 않은 것은 무엇입니까? –

+0

나는 관련 스레드를 통해 거의 4 시간 동안 스텝을 썼다. (따라서 SE 조언에서 주로 나온 나의 긴 초기 게시물). 파일 구조와 관련된 많은 이상한 우연성이있는 것처럼 보입니다 - 모든 기계에 의존합니다. 내 경우에, 어떻게 든 postgresql을위한 나의 설치 위치는 새로운 로컬 사용자를 만들었지 만 (나는 기본 위치를 변경하지 않았지만/usr/root에 설치되었을 것입니다?), gem을 설치하여 로컬 pg 설치를 찾았습니다. 잘못된 지점. 사용자 재설정 및 삭제 (+ 원래 게시물에 언급 된 다른 모든 것)는 일을 똑바로 설정합니다. – TronSawyer

+0

아, 고마워. 나는 'vs의 실제적인 급상승을 보았 기 때문에'물었다. OSX 사자에 대한 루비의 pg jem과 유사한 게시물을 최근에 보았습니다. 관련 게시물에 링크하면 도움이됩니다. 그 이유는 질문을 늦게 찾은 다른 사람들에게 도움이 될 것이기 때문입니다. r –

답변

1

파일이 mkmf.rb하지 mkmf.log했다 : 여기에 관련된 내용입니다. mkmf.log는 시작 부분에 다음과 같이 보일 것입니다 : 당신은 압축을 푼 보석의 'EXT'디렉토리에서 찾을 수 있습니다

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 */ 

.배쉬에서이 나를 위해 작동합니다

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

가 첫 번째 헤더에 실패하면 그것은 당신이 pg_config (당신이했던 것처럼 그것은 보인다)을 발견 특히, 거의 항상 컴파일러 설정 몇 가지 문제의 표시이다 . 명령의 시작 부분에 따옴표 안에 'gcc'가 실제로 있는지 확인하십시오. 제 경우에는 /usr/bin/gcc-4.2입니다. 그게 없으면 전에 확장자가 원본에서 올바르게 설치됩니다.

gcc가있는 경우 mkmf.log 파일을 첨부하십시오.이 파일에는 일반적으로 올바른 방향으로 사용자를 안내하는 데 필요한 단서가 포함되어 있습니다.

+0

고마워요! 이것은 대답의 일부분 일 수도 있습니다. 나는 gcc를 다시 설치했다. – TronSawyer

+0

필자의 경우 mkmf.log 파일은 다음을 사용하여 발견되었습니다. /usr/lib/ruby ​​/ -name * .log – Sylvain

0

Restarted, 그리고 어떻게 든 PostgreSQL이 사용자 (!)로 추가되었음을 알았습니다. 사용자를 삭제하고 보석 파일 'pg'를 gemfile에 추가하고 번들을 설치하면 모든 것이 부드럽게 진행됩니다. 설치 프로세스에서 어떤 기괴함이 발생했는지 확실하지 않습니다. 설치시 기본값을 변경하지는 않았지만 추측 된 버전은 이전 버전의 macport를 사용하는 데 문제가 있습니다.

비슷한 상황에있는 사람들은 1) 절대로 시간 머신 백업으로 OS를 전환하지 말 것을 권장합니다. 2) xcode, xcode 개발자 도구 (xcode 환경 설정 메뉴에서) 및 homebrew를 새로 설치합니다. 3) 강제 업데이트 rvm 4) brew install postgresql을 사용하여 postgresql을 로컬로 설치합니다. 5) 다시 시작하고 pg gem을 다시 설치하십시오. 나는 많은 것을했지만, 나는 그것이 내가 생각했던 단계라고 생각한다.

+0

FYI를 찾으십시오. 일반적으로 PostgreSQL은 자체 사용자 계정으로 실행됩니다. 삭제하면 기본 구성에서 실행하는 데 문제가 발생할 수 있습니다. –

관련 문제