【问题标题】:How to solve "libxml2 missing package" error on "gem install ovirt-engine-sdk" on Windows?如何解决 Windows 上“gem install ovirt-engine-sdk”上的“libxml2 missing package”错误?
【发布时间】:2019-01-18 17:10:07
【问题描述】:

我正在尝试在 Windows 10 机器上运行 gem install ovirt-engine-sdk,但遇到以下问题:

extconf.rb:29:in `<main>': The "libxml2" package isn't available. (RuntimeError)

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/ovirt-engine-sdk-4.2.5/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5 for inspection.
Results logged to
C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/ovirt-engine-sdk-4.2.5/gem_make.out

An error occurred while installing ovirt-engine-sdk (4.2.5), and Bundler cannot
continue.
Make sure that `gem install ovirt-engine-sdk -v '4.2.5'` succeeds before
bundling.

In Gemfile:
  fog was resolved to 2.1.0, which depends on
    fog-ovirt was resolved to 1.1.2, which depends on
      ovirt-engine-sdk

我已经尝试过:

  • 在 Windows 上安装 libxml2
  • 尝试使用所有--without-libxml2-config--without-libxml2-config、...参数
  • 卸载并重新安装 Ruby,以便尝试使用其他 Ruby 版本(我当前的 ruby​​ 版本是ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]
  • 或多或少地尝试我在 Stack Overflow 上找到的有关相关问题的所有不同答案

我的想法已经不多了,所以如果有人能提供任何线索让我摆脱困境,那将不胜感激!

非常感谢!

【问题讨论】:

标签: ruby rubygems libxml2 libxml-ruby ovirt


【解决方案1】:

我不熟悉 ovirt-engine-sdk,并且在他们的 github 上找不到任何暗示他们支持 windows 的信息(不能保证,尤其是对于具有本机扩展的 gem)。但是我们绝对可以解决这个特定的错误。为了帮助向您展示将来如何处理类似问题,这是我的解决此问题的过程。

$ gem fetch ovirt-engine-sdk
$ gem unpack ovirt-engine-sdk-4.3.0.gem
$ cat ovirt-engine-sdk-4.3.0/ext/ovirtsdk4c/extconf.rb

相关部分在这里(通过搜索错误信息找到):

xml2_config = find_executable('xml2-config')
if xml2_config
  # other stuff
elsif !pkg_config('libxml2')
  raise 'The "libxml2" package isn\'t available.'
end

我们可以看到它正在检查名为 xml2-config 的可执行文件。根据documentation for find_executable,它会检查您的路径。

所以,这意味着我们需要做两件事来修复这个错误:

  1. xml2-config 可执行文件
  2. 我们需要将它添加到我们的路径中。听起来这是您缺少的步骤。

您可以从here下载- 然后将整个 bin 文件夹添加到您的路径中。

【讨论】:

    猜你喜欢
    • 2021-06-19
    • 1970-01-01
    • 2021-05-02
    • 2012-02-17
    • 1970-01-01
    • 2017-08-11
    • 2013-09-06
    • 2019-08-09
    • 2017-05-19
    相关资源
    最近更新 更多