1

Ubuntu 12にNokogiriをインストールしているときに、エラーが発生しました。

Installing nokogiri (1.4.4) with native extensions 
Gem::Installer::ExtensionBuildError: 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 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 html_sax_parser_context.c                                                             
compiling xml_io.c                                                                              
compiling xml_entity_reference.c                                                                
compiling xml_schema.c                                                                          
compiling xml_element_content.c                                                                 
compiling xml_reader.c                                                                          
compiling xml_sax_push_parser.c                                                                 
compiling xml_sax_parser.c                                                                      
compiling xslt_stylesheet.c                                                                     
compiling xml_element_decl.c                                                                    
compiling xml_node.c                                                                            
compiling xml_cdata.c                                                                           
compiling xml_processing_instruction.c
compiling xml_entity_decl.c
compiling xml_attribute_decl.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 /home/alex/.bundler/tmp/22194/gems/nokogiri-1.4.4 for inspection.
Results logged to /home/alex/.bundler/tmp/22194/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out
An error occurred while installing nokogiri (1.4.4), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.4.4'` succeeds before bundling.

すでにlibxslt-devとlibxml2-devをインストールしましたが、ご覧のとおり、役に立ちませんでした。

どうすれば解決できますか?

4

3 に答える 3

2

私はubuntu13.04にbigbluebuttonをインストールしようとしてこれに遭遇しました

このトリックを実行して、システム全体で-Wformat-securitygccフラグを元に戻してコンパイルすることで解決しました

最初のことは注意してくださいrm。それはあなたのシステム全体を壊す可能性があります!

rm /usr/bin/gcc
nano /usr/bin/gcc
    ## contents of /usr/bin/gcc
    #!/bin/sh
    gcc-4.7 $* -Wno-format-security
    ## save and exit
chmod u+x /usr/bin/gcc
gem install nokogiri -v '1.4.4'
于 2013-08-01T20:42:21.547 に答える
0

最新の1.5.6ではなく1.4.4が必要な特定の理由はありますか?それ以外の場合は、アップグレードすることをお勧めします。

Nokogiriの変更ログは、1.5.4でこれを修正したことを示しています。

を使用する強化されたDebianシステムでサポートを構築します -Werror=format-security。#680。

于 2012-12-24T09:14:12.057 に答える
0

@Confusionには正しい考えがあります。

Bundlerは、Gemfileおよび/またはGemfile.lockでnokogiri-1.4.4にロックされている可能性があります。バンドル更新の実行に関する@Confusionの回答により、RubyBundler環境で正常にインストールされたnokogiri-1.5.6を使用できるようになります。

于 2012-12-27T05:15:05.543 に答える