2016-06-30 10 views
6

libxml-rubyをインストールしようとしています。 私はlibxml2libxsltcoreutilslibxml-ruby:宝石ネイティブ拡張の構築に失敗しました

をインストールしている私も、問題に関する他の記事を読みましたが、どれも私のためにそれを解決しません。

brew list libxslt

/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/bin/xslt-config 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/bin/xsltproc 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/include/libexslt/ (3 files) 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/include/libxslt/ (21 files) 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/lib/libexslt.0.dylib 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/lib/libxslt.1.dylib 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/lib/pkgconfig/ (2 files) 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/lib/ (5 other files) 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/share/aclocal/libxslt.m4 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/share/doc/ (90 files) 
/opt/boxen/homebrew/Cellar/libxslt/1.1.28_1/share/man/ (3 files) 

brew list libxml2

/opt/boxen/homebrew/Cellar/libxml2/2.9.4/bin/xml2-config 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/bin/xmlcatalog 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/bin/xmllint 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/include/libxml2/ (47 files) 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/lib/libxml2.2.dylib 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/lib/cmake/libxml2/libxml2-config.cmake 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/lib/pkgconfig/libxml-2.0.pc 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/lib/ (3 other files) 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/share/aclocal/libxml.m4 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/share/doc/ (153 files) 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/share/gtk-doc/ (55 files) 
/opt/boxen/homebrew/Cellar/libxml2/2.9.4/share/man/ (4 files) 

gem install libxml-ruby次のエラーを生成します。

Building native extensions. This could take a while... 
ERROR: Error installing libxml-ruby: 
    ERROR: Failed to build gem native extension. 

    current directory: /opt/rubies/2.3.0/lib/ruby/gems/2.3.0/gems/libxml-ruby-2.9.0/ext/libxml 
/opt/boxen/rbenv/versions/2.3.0/bin/ruby -r ./siteconf20160630-68248-1qaz7dk.rb extconf.rb 
checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... no 
*** 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. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/opt/boxen/rbenv/versions/2.3.0/bin/$(RUBY_BASE_NAME) 
    --with-xml2-config 
    --without-xml2-config 
    --with-xml2-dir 
    --without-xml2-dir 
    --with-xml2-include 
    --without-xml2-include=${xml2-dir}/include 
    --with-xml2-lib 
    --without-xml2-lib=${xml2-dir}/lib 
extconf failure: need libxml2. 

    Install the library or try one of the following options to extconf.rb: 

     --with-xml2-config=/path/to/xml2-config 
     --with-xml2-dir=/path/to/libxml2 
     --with-xml2-lib=/path/to/libxml2/lib 
     --with-xml2-include=/path/to/libxml2/include 


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

    /opt/boxen/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-14/2.3.0-static/libxml-ruby-2.9.0/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in /opt/boxen/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/libxml-ruby-2.9.0 for inspection. 
Results logged to /opt/boxen/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-14/2.3.0-static/libxml-ruby-2.9.0/gem_make.out 
+0

を解決し、あなたが確認しました'/ opt/include/libxml2、/ opt/local/include/libxml2、/ usr/local/include/libxml2、/ usr/includeをチェックしていると主張している4つのディレクトリのうちの1つに' libxml/xmlversion.h'があります。/libxml2'? –

答えて

3

ハイレベルの問題がここに示されています:

checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... no 

基本的に、インストーラはlibxml/xmlversion.hが見つからないと伝えていますが、より一般的にはlibxml2の場所が見つからない可能性があります。どの4つのディレクトリを調べているかを示します。最初のステップでは、これらのディレクトリをチェックして、libxml2があるかどうかを確認します。

これらの4つの場所のいずれにもないと仮定すると、それを見つける必要があります。 libxml2がインストールされている場所を調べるには、find/-name xmlversion.hsudoが必要な場合があります)を実行します。 this answerに基づいて、brew/usr/local/Cellar/libxml2にインストールされていますが、確認する必要があります。場所を取得したら、手動でgem installコマンドをポイントすることができます。このような何か:(しかし、あなたの実際のパスにpath/toに記入)

gem install libxml-ruby --with-xml2-dir=/path/to/libxml2 --with-xml2-lib=/path/to/libxml2/lib --with-xml2-include=/path/to/libxml2/include 
+0

ありがとう、私は宝石をインストールするためのオプションを使用し、それは働いた。しかし、私はバンドル設定でこれらのオプションが必要です。私は以下の設定を試しましたが、動作しませんでした。 'BUNDLE_BUILD__LIBXML-RUBY:" --with-xml2-lib =/opt/boxen/homebrew/opt/libxml2/lib --with-xml2-include =/opt/boxen/opt/boxx/opt/libxml/libxml2/include/libxml2 --with-xslt-lib =/opt/boxen/homebrew/opt/libxslt/lib --with-xslt-include =/opt/boxen/homebrew/opt/libxslt/include "' –

+0

@CarlMarkhamあなたは完全なコマンドのターミナルと出力を過ぎることができるように、私はバンドルの設定の問題を別の質問として掲示することをお勧めします。 –

+0

この回答をもとに構築してください。次は私のために働いた。 gem install libxml-ruby --with-xml2-include =/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2/--use-system-libraries – Jay

12

私はlibxml2の

ブリュリンクをインストールするために醸造を使用した後、私は同様の問題を持っていた問題にbrew link --force libxml2

+0

私のために働いたソリューション – Mark

関連する問題