【问题标题】:Libxml2 missing mac os x 10.10Libxml2 缺少 mac os x 10.10
【发布时间】:2014-11-12 02:31:41
【问题描述】:
Running 'compile' for libxslt 1.1.28... OK
Running 'install' for libxslt 1.1.28... OK
Activating libxslt 1.1.28 (from /Users/Kartik/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.4.1/ports/x86_64-apple-darwin14.0.0/libxslt/1.1.28)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no

libxml2 丢失。请找到 mkmf.log 以调查它是如何失败的。

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

【问题讨论】:

  • 那么mkmf.log 说了什么?软件安装问题属于superuser.com
  • 同样适用于 OS X 10.11

标签: ruby libxml2


【解决方案1】:

我摆弄了很长一段时间,以下对我有用..

1) 使用自制软件安装 libxml2

brew install libxml2

2) 通过

安装gem
sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri:1.6.4.1 -- --use-system-libraries --with-xml=/usr/local/Cellar/libxml2/

【讨论】:

  • 这为我解决了这个问题:sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nokogiri
  • +1。我花了一个小时和美妙的 nokogiri 一起玩。但解决方案非常简单! 255 个字符的超级特定命令行。完全有道理。
  • 我收到错误“需要 libxml2 版本 2.6.21 或更高版本!”虽然 /usr/local/Cellar/... 中的 libxml 是 2.9.2。奇怪。
  • 这是完美的。如果您使用的是 rvm 或 rbenv,则可以省略 Sudo。
  • @user152468,我还收到“需要 libxml2 版本 2.6.21 或更高版本”。 Brew 安装 libxml2-2.9.2,所以不确定 2- 是否以某种方式涉及?
【解决方案2】:

对于仍在获得“需要 libxml2 版本 2.6.21 或更高版本!”的任何人。消息,从上面 hlv 的第 2 步中删除 --use-system-libraries,对我有用。

sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri:1.6.4.1 -- --with-xml=/usr/local/Cellar/libxml2/2.9.2/

【讨论】:

    【解决方案3】:

    我终于得到了这个版本独立行:

    sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri  -n /usr/local/bin -- --with-xml=/usr/local/Cellar/libxml2/
    

    【讨论】:

      【解决方案4】:

      这对我有用(假设安装了 Xcode):

      gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.‌platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries
      

      灵感来自 https://stackoverflow.com/a/28767045/1884907(感谢 lx00st)

      【讨论】:

      • 应该是“nokogiri”而不是“nkogiri”。谢谢。
      • 或者使用/usr/include/libxml2而不是长的/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.‌platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
      • 到今天为止,这有效:gem install libxml-ruby -v '3.0.0' -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 --use-system-libraries
      【解决方案5】:

      (对于 MacOX 10.12.x)也许您想要 brew install libxml2 并尝试先链接到 /usr/local/brew link --force libxml2,然后再尝试 gem install nokogiri -- --use-system-libraries

      【讨论】:

        【解决方案6】:

        使用端口:

        gem install nokogiri -- --use-system-libraries --with-xml=/opt/local/lib/libxml2.a
        

        【讨论】:

          【解决方案7】:

          我的解决方案,使用端口:

          sudo ARCHFLAGS='-arch x86_64' gem install nokogiri -- --use-system-libraries

          默认为x86_64和i386编译,i386架构应该禁用,因为port中的依赖库默认只提供x86_64版本。

          【讨论】:

            【解决方案8】:

            这是对所有其他答案的重新整理,但这对我有用:

             gem install nokogiri -v '1.6.6.2' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.16 --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2  --use-system-libraries
            

            【讨论】:

              猜你喜欢
              • 2014-09-02
              • 1970-01-01
              • 2015-03-22
              • 2015-11-03
              • 2014-12-24
              • 2014-07-24
              • 1970-01-01
              • 2013-05-03
              • 1970-01-01
              相关资源
              最近更新 更多