2013-11-04 121 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