【问题标题】:'Lazy symbol binding failed: Symbol not found: __OSSwapInt16' on jailbroken iPhone when using gem commands使用 gem 命令时越狱 iPhone 上的“懒惰符号绑定失败:找不到符号:__OSSwapInt16”
【发布时间】:2012-08-20 18:52:26
【问题描述】:

我在 iOS 5.1.1 上遇到 Ruby 问题。任何gem 命令都会失败。如果我尝试gem update

mobile$ gem update

Updating installed gems
dyld: lazy symbol binding failed: Symbol not found: __OSSwapInt16 Referenced from: /usr/lib/ruby/1.9.1/arm-darwin9/socket.bundle
Expected in: flat namespace

dyld: Symbol not found: __OSSwapInt16
Referenced from: /usr/lib/ruby/1.9.1/arm-darwin9/socket.bundle
Expected in: flat namespace

Trace/BPT trap: 5

有趣的是ruby -v显示1.9.2:

mobile$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [arm-darwin9]

关于如何解决的任何想法?我试过通过 Cydia 删除 Ruby 包并重新安装,但它是一样的。我认为这可能与像我一样尝试在他们的 iOS 设备上使用 gems 的人有关。

【问题讨论】:

    标签: iphone ios ruby gem jailbreak


    【解决方案1】:

    我也有同样的问题。删除(重命名)socket.bundle 不出所料地产生了以下结果:

        ERROR:  Loading command: update (LoadError)
            no such file to load -- socket.so
        ERROR:  While executing gem ... (NameError)
            uninitialized constant Gem::Commands::UpdateCommand
    

    编辑:通过从 ruby​​ 1.9.2-p0-10 降级到 ruby​​ 1.9.1-p429-6,我能够成功运行 gem update。使用 1.9.2 时,仍然存在对 1.9.1 的引用,似乎导致了上述错误。

    【讨论】:

    • 感谢您的回复!从那以后,我得到了一部 iPhone 5,并且(显然)没有越狱。在此期间,也许该项目会成熟一些。
    • 1.9.2 是存储库中的唯一版本。通过降级,你做了什么来降级?手动安装红宝石?来自什么来源?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多