libxml-ruby 未能构建本机扩展
libxml-ruby failed to build native extensions
我在 El Capitan 上使用 ruby 2.1.10 并尝试安装 libxml-ruby -v '2.7.0'。
当我 运行 gem install libxml-ruby -v '2.7.0
我明白了
Building native extensions. This could take a while...
ERROR: Error installing libxml-ruby:
ERROR: Failed to build gem native extension.
/Users/stuartpearman/.rvm/rubies/ruby-2.1.10/bin/ruby -r ./siteconf20160527-15602-1pq16mj.rb extconf.rb
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... 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
checking for rb_io_bufwrite() in ruby/io.h... yes
creating extconf.h
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling libxml.c
compiling ruby_xml.c
ruby_xml.c:612:23: warning: assigning to 'const char *' from 'xmlChar *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
xmlTreeIndentString = xmlStrdup((xmlChar *)StringValuePtr(string));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
compiling ruby_xml_attr.c
compiling ruby_xml_attr_decl.c
ruby_xml_attr_decl.c:57:53: warning: passing 'const xmlChar *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
return rxml_new_cstr((const char*) xattr->name, xattr->doc->encoding);
^~~~~~~~~~~~~~~~~~~~
./ruby_xml_encoding.h:11:51: note: passing argument to parameter 'xencoding' here
VALUE rxml_new_cstr(const char* xstr, const char* xencoding);
^
完整的错误大约有 600 行,但大致相同。
我在互联网上搜索了解决方案并尝试了很多不同的方法,但都没有成功。有什么想法吗?
安装最新版本的 libxml-ruby,它立即运行。
gem install libxml-ruby
我用 sudo apt-get install -y libxml2-dev
安装了 libxml2-dev
。
然后 gem i libxml-ruby
成功了。
问题是我没有在 mac 上安装一些必要的实用程序。
我通过 运行 几个 brew 安装解决了这个问题:
brew install libxml2 libxslt
和
brew install coreutils
安装 coreutils
后,很多 问题神奇地消失了。
此外,在安装 Nokogiri 时,我不得不做一些非常接近于此的事情:
gem install nokogiri --use-system-libraries -- --with-ldflags
虽然我不记得我使用的确切选项
我在 El Capitan 上使用 ruby 2.1.10 并尝试安装 libxml-ruby -v '2.7.0'。
当我 运行 gem install libxml-ruby -v '2.7.0
我明白了
Building native extensions. This could take a while...
ERROR: Error installing libxml-ruby:
ERROR: Failed to build gem native extension.
/Users/stuartpearman/.rvm/rubies/ruby-2.1.10/bin/ruby -r ./siteconf20160527-15602-1pq16mj.rb extconf.rb
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... 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
checking for rb_io_bufwrite() in ruby/io.h... yes
creating extconf.h
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling libxml.c
compiling ruby_xml.c
ruby_xml.c:612:23: warning: assigning to 'const char *' from 'xmlChar *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
xmlTreeIndentString = xmlStrdup((xmlChar *)StringValuePtr(string));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
compiling ruby_xml_attr.c
compiling ruby_xml_attr_decl.c
ruby_xml_attr_decl.c:57:53: warning: passing 'const xmlChar *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
return rxml_new_cstr((const char*) xattr->name, xattr->doc->encoding);
^~~~~~~~~~~~~~~~~~~~
./ruby_xml_encoding.h:11:51: note: passing argument to parameter 'xencoding' here
VALUE rxml_new_cstr(const char* xstr, const char* xencoding);
^
完整的错误大约有 600 行,但大致相同。
我在互联网上搜索了解决方案并尝试了很多不同的方法,但都没有成功。有什么想法吗?
安装最新版本的 libxml-ruby,它立即运行。
gem install libxml-ruby
我用 sudo apt-get install -y libxml2-dev
安装了 libxml2-dev
。
然后 gem i libxml-ruby
成功了。
问题是我没有在 mac 上安装一些必要的实用程序。
我通过 运行 几个 brew 安装解决了这个问题:
brew install libxml2 libxslt
和
brew install coreutils
安装 coreutils
后,很多 问题神奇地消失了。
此外,在安装 Nokogiri 时,我不得不做一些非常接近于此的事情:
gem install nokogiri --use-system-libraries -- --with-ldflags
虽然我不记得我使用的确切选项