2011-01-07 33 views
8

Solución de problemas de RVM.RVM ruby ​​1.9.2 Símbolo no encontrado: _STR2CSTR

Instalado tanto de Ruby 1.9.2-Cabeza/1.9.2-p136

Cuando se ejecuta el servidor, el servidor se bloquea recibir este error:

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

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

Encontrado este anuncio, pero no sirvió de mucho: http://www.ruby-forum.com/topic/215406

¡Cualquier solución sería genial!

+0

¿Qué sistema operativo? ¿Cómo instalas RVM? –

+0

Mac OS X versión 10.6.6 Instalado RVM usando $ fiesta <<(rizar http://rvm.beginrescueend.com/releases/rvm-install-head) – user567604

+0

Yo también puede querer añadir que he añadido a este mi_perfil_batch [[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm" – user567604

Respuesta

0

Una de sus gemas (ncurses?) Usa la C API nativa. La función STR2CSTR se eliminó en Ruby 1.9 Entonces, o bien usa la gema ffi-ncurses o puede Parche la fuente de la gema ncurses y recompilela.

+0

todavía parece tener el mismo problema ... estos son los pasos que tomé. 1.) predeterminado RVM - utiliza ruby ​​1.9.2 2.) el uso RVM @ rails3 - gemset 3.) cd llamado testapp - testapp dir 4.) joya instalar FFI en ncurses 5.) bundle install 6 .) Se ejecutó el servidor ... Todavía tengo el mismo problema – user567604

6

Estaba teniendo el mismo problema con Ruby 1.9.2 y la gema sqlite-ruby-1.2.4, que de alguna manera es requerida por Rails 3.0.3. Esta fue mi mensaje de error:

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 

Y yo era capaz de arreglarlo por ir a ~/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-ruby-1.2.4/ext donde se encontraba el código fuente para el sqlite3_api.bundle, y la sustitución de todas las apariciones de STR2CSTR por StringValuePtras described here (first reply). Luego volví a compilar (usando make) y copié el resultante sqlite3_api.bundle en la carpeta lib /.

3

He actualizado mi gema sqlite3-ruby a Sqlite3 cambio Justo (en su Gemfile)

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

a

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

y ejecutar

bundle install 
Cuestiones relacionadas