ruby - 使用 ruby​​-libvirt 扩展编译 Mountain Lion 时出现问题

标签 ruby osx-mountain-lion libvirt

我这周买了一台新 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 所做的事情。

  1. brew 安装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

希望这有帮助。

关于ruby - 使用 ruby​​-libvirt 扩展编译 Mountain Lion 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12122431/

相关文章:

ruby-on-rails - 如何在 unicode 中创建复选标记?

linux - 动态删除重复的日志消息

带有 "watchdog"的 Ruby 线程

ruby-on-rails - git clone 我的 rails 项目后出现错误

javascript - 422(无法处理的实体)使用 Rails 进行 POST

python - Enthought Canopy : Where do os. 环境变量从何而来?

ruby - OS X Mountain Lion : gcc-4. 2 没有那个文件或目录

macos - Mac OS 10.8 支持 GLSL 3.30?

python - 使用 libvirt 和 kickstart 安装 Ubuntu 16.04

xml - 如何使用 virt-install 将 VLAN 信息添加到 VM xml 文件?