rails 3.1'未找到符号:_sqlite3_open_v2'sqlite3

时间:2011-12-16 22:08:56

标签: ruby-on-rails-3 sqlite

好的,我一直在使用sqlite3成功开发这个微小的rails 3.1项目,我的第一个不是一个例子,并希望将它移到Leopard PPC机器上。我已经这样做了,并且已经将我的宝石安装到PPC原生版本,就像我所知道的那样。我已经将源代码中的sqlite3构建到/ usr / local /以确保它是PPC原生的并且版本为3.7.9。我正在使用rvm来使用ruby 1.9.2 p290。我的Gemfile引用:gem'sqlite3','〜> 1.3.0'

当我捆绑exec rake db:migrate时,我收到以下错误:

> dyld: lazy symbol binding failed: Symbol not found: _sqlite3_open_v2  
> Referenced from:
> /Users/wanzie/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle
> Expected in: flat namespace
> 
> dyld: Symbol not found: _sqlite3_open_v2   Referenced from:
> /Users/wanzie/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle
> Expected in: flat namespace
> 
> Trace/BPT trap

好的,看看stackoverflow,其他人在Leopard上遇到了这个问题并建议放置gem'sqlite3-ruby','1.2.5',:require => Gemfile中的'sqlite3'。

这是我得到的错误:

> rake aborted! Please install the sqlite3 adapter: `gem install
> activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add
> it to Gemfile.)
> 
> Tasks: TOP => db:migrate => environment

这个特定的Ruby有一个共性,我在其他stackoverflow帖子中看到。并且似乎sqlite3应用程序必须与适配器的版本匹配。我们知道这是对这个宝石的一个虚假建议,因为它不存在。

我的问题是,我该如何解决这个问题,因为需要为PPC设置sqlite3?感谢名单,

1 个答案:

答案 0 :(得分:1)

这可能是你的解决方案。 https://stackoverflow.com/a/8943110/153886