Ruby on rails 使用本机扩展构建gem(gem::Installer::ExtensionBuildError)
我有以下配置:Ruby on rails 使用本机扩展构建gem(gem::Installer::ExtensionBuildError),ruby-on-rails,ubuntu,rubygems,ruby-on-rails-3,bundler,Ruby On Rails,Ubuntu,Rubygems,Ruby On Rails 3,Bundler,我有以下配置: uname-a:Linux 2.6.24.2 i686 GNU/Linux(Ubuntu) ruby-v:ruby 1.9.0(2007-12-25修订版14709)[i486 linux] rails-v:rails 3.0.0.3 gem-v:1.3.5 rake——版本:rake,版本0.8.7 make-v:GNU make 3.81 宝石环境: RUBYGEMS版本:1.3.5 RUBY版本:1.9.0(2007-12-25 patchlevel 0)[i486 l
- uname-a:Linux 2.6.24.2 i686 GNU/Linux(Ubuntu)
- ruby-v:ruby 1.9.0(2007-12-25修订版14709)[i486 linux]
- rails-v:rails 3.0.0.3
- gem-v:1.3.5
- rake——版本:rake,版本0.8.7
- make-v:GNU make 3.81
- 宝石环境:
- RUBYGEMS版本:1.3.5
- RUBY版本:1.9.0(2007-12-25 patchlevel 0)[i486 linux]
- 安装目录:/usr/lib/ruby1.9/gems/1.9.0
- RUBY可执行文件:/usr/bin/ruby1.9
- 可执行目录:/usr/bin
- RUBYGEMS平台:
- 红宝石
- x86Linux
- 宝石路径:
- /usr/lib/ruby1.9/gems/1.9.0
- /root/.gem/ruby/1.9.0
- GEM配置:
- :update_sources=>true
- :verbose=>true
- :benchmark=>false
- :backtrace=>false
- :批量_阈值=>1000
- 远程来源:
gem install nokogiri
以下是我得到的:
# gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9 extconf.rb
checking for iconv.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxml/parser.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxslt/xslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libexslt/exslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
make
cc -I. -I/usr/include/libxml2 -I/usr/include -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS -I/opt/local/include/ -I/opt/local/include/libxml2 -I/opt/local/include -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -o xml_document_fragment.o -c xml_document_fragment.c
In the included file starting at ./nokogiri.h:75,
From ./xml_document_fragment.h:4,
From xml_document_fragment.c:1:
./xml_document.h:5:16: error: st.h : No file or folder with this type
make: *** [xml_document_fragment.o] Error 1
Gem files will remain installed in /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1 for inspection.
Results logged to /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1/ext/nokogiri/gem_make.out
u# gem install gherkin
Building native extensions. This could take a while...
ERROR: Error installing gherkin:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9 extconf.rb
checking for main() in -lc... yes
creating Makefile
make
cc -I. -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -o gherkin_lexer_ar.o -c gherkin_lexer_ar.c
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl:11:16: erreur: re.h : Aucun fichier ou dossier de ce type
make: *** [gherkin_lexer_ar.o] Erreur 1
Gem files will remain installed in /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30 for inspection.
Results logged to /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30/ext/gherkin_lexer_ar/gem_make.out
以下是我得到的:
# gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9 extconf.rb
checking for iconv.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxml/parser.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxslt/xslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libexslt/exslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
make
cc -I. -I/usr/include/libxml2 -I/usr/include -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS -I/opt/local/include/ -I/opt/local/include/libxml2 -I/opt/local/include -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -o xml_document_fragment.o -c xml_document_fragment.c
In the included file starting at ./nokogiri.h:75,
From ./xml_document_fragment.h:4,
From xml_document_fragment.c:1:
./xml_document.h:5:16: error: st.h : No file or folder with this type
make: *** [xml_document_fragment.o] Error 1
Gem files will remain installed in /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1 for inspection.
Results logged to /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1/ext/nokogiri/gem_make.out
u# gem install gherkin
Building native extensions. This could take a while...
ERROR: Error installing gherkin:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9 extconf.rb
checking for main() in -lc... yes
creating Makefile
make
cc -I. -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -o gherkin_lexer_ar.o -c gherkin_lexer_ar.c
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl:11:16: erreur: re.h : Aucun fichier ou dossier de ce type
make: *** [gherkin_lexer_ar.o] Erreur 1
Gem files will remain installed in /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30 for inspection.
Results logged to /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30/ext/gherkin_lexer_ar/gem_make.out
u#gem安装小黄瓜
构建本机扩展。这可能需要一段时间。。。
错误:安装小黄瓜时出错:
错误:无法生成gem本机扩展。
/usr/bin/ruby1.9 extconf.rb
正在检查-lc中的main()。。。对
创建Makefile
制作
cc-I-I/usr/include/ruby-1.9.0/i486-linux-I/usr/include/ruby-1.9.0-I-D\u FILE\u OFFSET\u BITS=64-fPIC-fno严格别名-g-fPIC-o小黄瓜lexer\u ar.o-c小黄瓜lexer\u ar.c
/Users/aslakhellesoy/scm/gherkin/tasks/。/ragel/i18n/ar.c.rl:11:16:erreur:re.h:Aucun fichier ou docsier de ce type
制造:**[gherkin_lexer_ar.o]错误1
Gem文件仍将安装在/usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30中以供检查。
结果记录到/usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30/ext/gherkin\u lexer\u ar/gem\u make.out
事实上,每当我尝试安装带有本机扩展的gem时,我都会遇到相同类型的错误
这会给任何人敲响警钟吗?对于nokogiri,你可以试一试 对于其他gem,您可以解决ruby 1.9兼容性问题,它似乎说明了一切: 不支持Ruby 1.9.0。您应该升级到1.9.1-p129甚至1.9.2。1.9.0太破碎,无法支撑:-(
我现在可能想更新这个ruby小东西…你建议的nokogiri页面是关于在Mac OS环境中安装它的。我确实尝试过用源代码安装gem,但没有成功。我不确定问题是否与ruby 1.9兼容性有关,因为我可以在Windows工作站上安装它,但不能在Windows上安装Ubuntu服务器。不过,我对其他主张持开放态度。由于这篇博文,我从源代码安装了Ruby 1.9.1:现在它可以无缝工作了。