我这周买了一台新 Mac,但在安装这个 gem 时遇到了很大的问题。在我的旧 Mac 上这从来都不是问题,但在这台 Mac 上似乎特别困难。
我已经通过 Homebrew、Xcode4.4(带有命令行工具)和 gcc4.2 安装了 libvirt。我已进行符号链接(symbolic link)以使 gcc4.2 成为默认编译器。
gem install ruby-libvirt -v '0.4.0'
失败,因为找不到 header
如果我传入 header 和库的路径,如下所示:
ruby-libvirt -v '0.4.0' -V -- --with-libvirt-include=/usr/local/Cellar/libvirt/0.9.11.3/include/ --with-libvirt-lib=/usr/local/Cellar/libvirt/0.9.11.3/lib/
,它编译得很好,但在链接时失败并出现以下错误:
linking shared-object _libvirt.bundle
ld: library not found for -lruby.1.9.1
collect2: ld returned 1 exit status
make: *** [_libvirt.bundle] Error 1
我已经通过 RVM 安装了 Ruby 1.9.3,并且在安装其他 native 扩展时没有遇到任何问题,因此我不明白为什么在这种情况下无法找到 ruby 库。
有人有什么想法吗?非常感谢您的帮助。
最佳答案
我通过证明使用brew安装的外部libvirt构建了ruby-libvirt-0.4.0/ext/libvirt
。
这是我成功安装 libvirt 所做的事情。
brew 安装
libvirt
ruby extconf.rb --with-libvirt-include=/usr/local/include/libvirt --with-libvirt-lib=/usr/local/lib/libvirt
gem install ruby-libvirt -v '0.4.0' -V -- --with-libvirt-include=/usr/local/Cellar/libvirt/1.1.4/include/libvirt - -with-libvirt-lib=/usr/local/Cellar/libvirt/1.1.4/lib
希望这有帮助。
关于ruby - 使用 ruby-libvirt 扩展编译 Mountain Lion 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12122431/