2011-01-07 17 views
8

Fehlerbehebung RVM.RVM Rubin 1.9.2 Symbol nicht gefunden: _STR2CSTR

installiert beide Ruby-1.9.2-Head/1.9.2-p136

Wenn der Server, Abstürze Server ausgeführt wird diesen Fehler empfangen:

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

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

diesen Beitrag gefunden, aber helfen nicht viel: http://www.ruby-forum.com/topic/215406

Jede Lösung wäre großartig!

+0

Was OS? Wie hast du RVM installiert? –

+0

Mac OSX Version 10.6.6 installiert RVM mit $ bash <<(curl http://rvm.beginrescueend.com/releases/rvm-install-head) – user567604

+0

Ich könnte auch hinzufügen wollen, dass ich hinzugefügt, dies zu Mein Batch_Profil [[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm" – user567604

Antwort

0

Einer Ihrer Edelsteine ​​(ncurses?) Verwendet die native C-API. Die Funktion STR2CSTR wurde in Ruby 1.9 entfernt. Also entweder Sie verwenden die ffi-ncurses gem oder Sie können Patch die Quelle der ncurses gem und kompilieren Sie es neu.

+0

scheinen immer noch das gleiche Problem zu haben ... das sind die Schritte, die ich gemacht habe. Standard 1.) rvm - verwendet Rubin 1.9.2 2.) rvm Verwendung @ rails3 - genannt gemset 3.) cd testapp - testapp dir 4.) gem install ffi-ncurses 5.) Bündel installieren 6 .) Lief der Server ... Immer noch das gleiche Problem – user567604

6

Ich hatte das gleiche Problem mit Ruby 1.9.2 und dem sqlite-ruby-1.2.4 gem, das irgendwie von Rails 3.0.3 benötigt wird. Dies war meine Fehlermeldung:

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 

Und ich war in der Lage, es zu beheben, indem Sie für die sqlite3_api.bundle zu ~/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-ruby-1.2.4/ext wo der Quellcode gehen wurde entfernt und jedes Vorkommen von STR2CSTR durch StringValuePtras described here (first reply) ersetzen. Ich habe dann neu kompiliert (mit make) und die resultierende sqlite3_api.bundle in den lib/Ordner kopiert.

3

ich meine sqlite3-ruby gem aktualisiert Gerade Änderung Sqlite3 (in Ihrem Gemfile)

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

zu

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

und laufen

bundle install 
Verwandte Themen