获取ruby-libvirt扩展以编译Mountain Lion的问题

时间:2012-08-25 13:32:42

标签: ruby osx-mountain-lion libvirt

本周我买了一台新的Mac,并且在安装这个宝石时遇到了很大的问题。这在我的旧Mac上从来都不是问题,但在这个问题上似乎特别困难。

我已经通过Homebrew,Xcode4.4(使用命令行工具)和gcc4.2安装了libvirt。我已经通过符号链接使gcc4.2成为默认编译器。

gem install ruby-libvirt -v '0.4.0'失败,因为找不到标题

如果我传入标题和库的路径,如下:

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并且没有安装其他原生扩展的任何麻烦,所以我不明白为什么在这种情况下它找不到ruby库。

有没有人有任何想法?非常感谢帮助。

4 个答案:

答案 0 :(得分:1)

我通过使用brew安装外部libvirt来构建ruby-libvirt-0.4.0/ext/libvirt

以下是我成功安装libvirt的方法。

  1. brew install libvirt

  2. ruby extconf.rb --with-libvirt-include=/usr/local/include/libvirt --with-libvirt-lib=/usr/local/lib/libvirt

  3. 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

  4. 希望这会有所帮助。

答案 1 :(得分:0)

我终于解决了这个问题。事实证明,命令行工具未正确安装。需要将以下行添加到.zshrc文件中(或者适用于您选择的shell):

export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH

答案 2 :(得分:0)

要安装gem,您需要安装libvirt库。使用' Homebrew' (mac的软件包管理器)

brew install libvirt
bundle install

你得到的确切错误可能是:

An error occurred while installing ruby-libvirt (0.4.0)

答案 3 :(得分:0)

您只需要在安装包之前安装 libvirt。

brew install libvirt