2011-01-07 16 views
8

Risoluzione dei problemi RVM.RVM ruby ​​1.9.2 Simbolo non trovato: _STR2CSTR

installato sia Rubino 1.9.2-Head/1.9.2-p136

Quando si esegue il server, server si blocca la ricezione di questo errore:

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

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

Trovato questo annuncio, ma non ha aiutato molto: http://www.ruby-forum.com/topic/215406

Qualsiasi soluzione sarebbe ottima!

+0

Quale sistema operativo? Come hai installato RVM? –

+0

Mac OSX versione 10.6.6 Installato RVM utilizzando $ bash <<(arricciare http://rvm.beginrescueend.com/releases/rvm-install-head) – user567604

+0

Ho anche possibile aggiungere che ho aggiunto questo my batch_profile [[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm" – user567604

risposta

0

Una delle gemme (ncurses?) Utilizza l'API C nativa. La funzione STR2CSTR è stata rimossa in Ruby 1.9 Quindi, si utilizza la gem ffi-ncurses o si può applicare la patch all'origine della gemma ncurses e ricompilarla.

+0

sembrano ancora avere lo stesso problema ... questi sono i passaggi che ho preso. 1.) RVM di default - utilizza rubino 1.9.2 2.) uso RVM @ Rails3 - GemSET 3.) cd testapp chiamato - testapp dir 4.) gem install ffi-ncurses 5.) bundle install 6 .) Ha eseguito il server ... Ancora lo stesso problema – user567604

6

Avevo lo stesso problema con Ruby 1.9.2 e la gemma sqlite-ruby-1.2.4, richiesta in qualche modo da Rails 3.0.3. Questo è stato il mio messaggio di errore:

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 

E sono stato in grado di risolvere il problema andando a ~/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-ruby-1.2.4/ext dove si trovava il codice sorgente per lo sqlite3_api.bundle, e sostituendo ogni occorrenza di STR2CSTR da StringValuePtras described here (first reply). Ho quindi ricompilato (usando make) e copiato il risultato sqlite3_api.bundle nella cartella lib /.

3

ho aggiornato il mio sqlite3-ruby gioiello da sqlite3 basta cambiare (nel vostro Gemfile)

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

a

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

ed eseguire

bundle install 
Problemi correlati