2011-01-07 6 views
8

RVM 문제 해결.RVM 루비 1.9.2 기호를 찾을 수 없음 : _STR2CSTR

설치된 루비 모두 1.9.2-헤드/1.9.2-P136

이 오류를 수신 서버, 서버 충돌을 실행 :

dyld: lazy symbol binding failed: Symbol not found: _STR2CSTR 
Expected in: flat namespace 

dyld: Symbol not found: _STR2CSTR 
Expected in: flat namespace 

이 게시물을 찾았지만 많은 도움이되지 않았다 : http://www.ruby-forum.com/topic/215406

모든 솔루션이 훌륭합니다!

+0

어떤 OS를 실행하는 내 sqlite3를-루비 보석을 업데이트? RVM을 어떻게 설치 했습니까? –

+0

맥 OS X 버전 10.6.6 설치된 RVM 나는 또한 내가이 추가 것을 추가 할 수 있습니다 – user567604

+0

<<(http://rvm.beginrescueend.com/releases/rvm-install-head 컬) $ 강타를 사용하여 내 batch_profile [$ HOME/.rvm/scripts/rvm "]] && source"$ HOME/.rvm/scripts/rvm " – user567604

답변

0

보석 중 하나 (ncurses?)는 기본 C API를 사용합니다. 루비 1.9에서 STR2CSTR 함수가 제거되었습니다. 그래서 ffi-ncurses gem을 사용하거나 ncurses gem의 소스에 패치를 적용하고 다시 컴파일하십시오.

+0

는 여전히 같은 문제가있는 것 같습니다 ... 이것들은 제가 취한 조치입니다. 5) 번들 6을 설치 testapp를 DIR 4) 보석 설치 FFI-ncurses를 - 1) RVM의 기본은 - 이름 gemset 3) CD를 testapp를 - 루비에게 1.9.2 2) RVM 사용 @의 rails3를 사용 .) 서버를 ... 여전히 동일한 문제가 있습니다. – user567604

6

나는 Rails 3.0.3에서 필요로하는 Ruby 1.9.2와 sqlite-ruby-1.2.4 gem과 동일한 문제를 겪고있었습니다. 이것은 나의 오류 메시지였다

dyld: Symbol not found: _STR2CSTR 
    Referenced from: ~/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-ruby-1.2.4/lib/sqlite3_api.bundle 
Expected in: flat namespace 

그리고 나는 sqlite3_api.bundle에 대한 소스 코드가 위치한 ~/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-ruby-1.2.4/ext에 가고, 그리고 StringValuePtras described here (first reply)에 의해 STR2CSTR의 모든 발생을 교체하여 문제를 해결할 수 있었다. 그런 다음 make를 사용하여 다시 컴파일하고 그 결과로 sqlite3_api.bundle을 lib/폴더에 복사했습니다.

3

나는

gem 'sqlite3-ruby', :require => 'sqlite3' 

gem 'sqlite3', :require => 'sqlite3' 

에 (당신의 Gemfile에) 그냥 변화를 sqlite3를하고

bundle install 
관련 문제