3

正如标题所说,它似乎并没有因为缺少 libxml2 或 libxslt 而失败。我不确定该怎么。(明白了吗?因为问题是在制作过程中?嘿嘿......)

任何人,这是我得到的输出。任何想法,将不胜感激:

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

        /usr/bin/ruby1.9.1 extconf.rb
extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlHasFeature()... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile

make
compiling xml_element_content.c
compiling xml_relax_ng.c
compiling xml_cdata.c
compiling xml_sax_parser_context.c
compiling xml_node_set.c
compiling xml_text.c
compiling xml_sax_parser.c
compiling xml_attribute_decl.c
compiling nokogiri.c
nokogiri.c: In function ‘ruby_strdup’:
nokogiri.c:43:31: warning: conversion to ‘size_t’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
compiling xml_entity_reference.c
compiling xml_node.c
compiling xml_xpath_context.c
xml_xpath_context.c: In function ‘xpath_generic_exception_handler’:
xml_xpath_context.c:184:3: error: format not a string literal and no format arguments [-Werror=format-security]
cc1: some warnings being treated as errors
make: *** [xml_xpath_context.o] Error 1


Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.5.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.5.0/ext/nokogiri/gem_make.out

作为上下文,我昨晚从 Ubuntu 12.04 升级到了 12.10。我之前在这个盒子上构建了 Nokogiri 原生扩展,虽然我不知道它是否是相同的版本。

我还检查了我在第二篇文章中指定的所有软件包“错误安装 nokogiri 1.5.0 with rails 3.1.0 and ubuntu ”无济于事。

4

4 回答 4

7

我花了一些时间弄清楚如何附加 cflags。这是我对 nokogiri 1.4.7 的命令:

sudo gem install  nokogiri -v '1.4.7' -- --with-cflags=\"-Wformat-nonliteral -Wno-format-security\"
于 2014-11-04T12:17:30.457 回答
5

您是否尝试过为 nokogiri 安装以下依赖项?

# nokogiri requirements
sudo apt-get install libxslt-dev libxml2-dev
sudo gem install nokogiri
于 2012-12-20T10:36:50.907 回答
5

如果您尝试安装 Nokogiri < 1.5.4,您将在 Ubuntu 12 等强化的 Debian 系统上遇到问题。

有关潜在问题的详细信息在这里:https ://github.com/sparklemotion/nokogiri/issues/680

您应该能够升级到 1.5.4 或更高版本并安装而不会出现此问题。

或者,您应该能够在 gem-install 时设置 CFLAGS 环境变量以包含字符串:

-Wno-error=format-security

或者

-Wformat-nonliteral -Wno-format-security

祝你好运!

于 2012-12-28T16:02:42.900 回答
0

这可能是由于此错误> https://leap.se/code/issues/7231

在运行命令之前运行以下命令:

sudo apt-get install zlib1g-dev
于 2015-10-14T12:15:41.993 回答