2013-11-04 148 views
4

在從10.7.5跳轉到Mac OS 10.9的乾淨安裝中,我似乎無法安裝libxml-ruby gem。我使用自制軟件和RVM管理我的環境,我已經安裝了以下幾件事:OS X Mavericks,無法安裝libxml-ruby gem?

brew list 

apple-gcc42 gcc46  libmpc08 mpfr2  postgresql 
autoconf gmp4  libtool  mysql55  ppl011 
automake libgpg-error libxml2  openssl  readline 
cloog-ppl015 libiconv libxslt  ossp-uuid wget 
cmake  libksba  libyaml  pkg-config 

進入brew doctor回報:

Your system is ready to brew. 

運行bundle install產生以下,在那裏我已經刪除了鏈接。我不能發佈兩個以上無10聲譽顯然:

Fetching source index from . . . 
Fetching source index from . . . 
Fetching source index from . . . 
Resolving dependencies.............................................................................................. 
Using rake (10.0.4) 
Using Platform (0.4.0) 
Using open4 (1.3.0) 
Using POpen4 (0.1.4) 

等,最終達到:

Using nokogiri (1.5.9) 

Installing libxml-ruby (2.3.3) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 
/Users/iandonovan/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb --with-opt-include=/usr/local/Cellar/libxml2/2.9.1/include/ 
extconf.rb:17: Use RbConfig instead of obsolete and deprecated Config. 
checking for socket() in -lsocket... no 
checking for gethostbyname() in -lnsl... no 
checking for atan() in -lm... no 
checking for atan() in -lm... yes 
checking for inflate() in -lz... yes 
checking for iconv_open() in -liconv... yes 
checking for xmlParseDoc() in -lxml2... yes 
checking for libxml/xmlversion.h... yes 
creating extconf.h 
creating Makefile 
make 
compiling libxml.c 
compiling ruby_xml.c 
ruby_xml.c: In function 'rxml_default_tree_indent_string_set': 
ruby_xml.c:612:23: warning: pointer targets in assignment differ in signedness [-Wpointer-sign] 
compiling ruby_xml_attr.c 
compiling ruby_xml_attr_decl.c 
ruby_xml_attr_decl.c: In function 'rxml_attr_decl_name_get': 
ruby_xml_attr_decl.c:57:5: warning: pointer targets in passing argument 2 of 'rxml_new_cstr' differ in signedness [-Wpointer-sign] 
ruby_xml_encoding.h:11:7: note: expected 'const char *' but argument is of type 'const xmlChar *' 
compiling ruby_xml_attributes.c 
compiling ruby_xml_cbg.c 
compiling ruby_xml_document.c 
ruby_xml_document.c: In function 'rxml_document_canonicalize': 
ruby_xml_document.c:232:10: warning: unused variable 'list_in' [-Wunused-variable] 
ruby_xml_document.c:334:3: warning: passing argument 4 of 'xmlC14NDocDumpMemory' from incompatible pointer type [enabled by default] 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2/libxml/c14n.h:76:3: note: expected 'xmlChar **' but argument is of type 'xmlChar * (*)[256]' 
ruby_xml_document.c:199:7: warning: variable 'length' set but not used [-Wunused-but-set-variable] 
ruby_xml_document.c: In function 'rxml_document_root_set': 
ruby_xml_document.c:757:14: warning: variable 'xroot' set but not used [-Wunused-but-set-variable] 
ruby_xml_document.c: In function 'rxml_document_save': 
ruby_xml_document.c:805:13: warning: pointer targets in assignment differ in signedness [-Wpointer-sign] 
compiling ruby_xml_dtd.c 
compiling ruby_xml_encoding.c 
compiling ruby_xml_error.c 
compiling ruby_xml_html_parser.c 
compiling ruby_xml_html_parser_context.c 
ruby_xml_html_parser_context.c: In function 'rxml_html_parser_context_options_set': 
ruby_xml_html_parser_context.c:307:7: warning: variable 'result' set but not used [-Wunused-but-set-variable] 
compiling ruby_xml_html_parser_options.c 
compiling ruby_xml_input_cbg.c 
compiling ruby_xml_io.c 
compiling ruby_xml_namespace.c 
compiling ruby_xml_namespaces.c 
compiling ruby_xml_node.c 
ruby_xml_node.c: In function 'rxml_node_to_s': 
ruby_xml_node.c:622:54: error: dereferencing pointer to incomplete type 
ruby_xml_node.c:624:56: error: dereferencing pointer to incomplete type 
make: *** [ruby_xml_node.o] Error 1 
Gem files will remain installed in /Users/iandonovan/.rvm/gems/[email protected]/gems/libxml-ruby-2.3.3 for inspection. 
Results logged to /Users/iandonovan/.rvm/gems/[email protected]/gems/libxml-ruby-2.3.3/ext/libxml/gem_make.out 
An error occurred while installing libxml-ruby (2.3.3), and Bundler cannot continue 
Make sure that `gem install libxml-ruby -v '2.3.3'` succeeds before bundling. 

運行是獨立的創業板安裝,gem install libxml-ruby -v '2.3.3',返回相同的錯誤消息。

XCode 5.0.1與開發人員工具一起安裝。由於「網絡問題」(根據對話框),我無法通過xcode-select --install安裝開發工具,而是從developer.apple.com下載了Mavericks軟件包。

還有其他人處理過嗎? Nokogiri似乎安裝得很好(捆綁1.5.9),但libxml-ruby無法完成。

回答

5

正在安裝的libxml-ruby的版本太舊,無法與libxml2版本兼容。大概你有最新的libxml2版本 - 2.9.1。

直到版本2.4.0,libxml-ruby與libxml2 2.9.x不兼容。你可以在這裏找到更多的信息 - https://github.com/xml4r/libxml-ruby/blob/master/HISTORY

你爲什麼要安裝這樣一箇舊版本的libxml-ruby?如果你嘗試安裝更新的版本,它應該可以正常工作。

+0

我們一定要更新我們的gemfile,這個事件和任何一個催化劑一樣。謝謝。 –

+1

如果您必須使用早於2.4.0的版本,則可以手動實現此差異作爲補丁:https://github.com/xml4r/libxml-ruby/commit/1c4878f3fdcd0cdf2e0fd09a5e6147a6ed237cf0 – alanthing