gem install berkshelf失败,无法在Centos 6中构建地理代码库

时间:2014-11-13 15:45:09

标签: berkshelf

gem install berkshelf在Centos 6中失败并显示Failed to build gecode library。它失败并显示以下输出。

# /opt/chef/embedded/bin/gem install berkshelf
Building native extensions.  This could take a while...
ERROR:  Error installing berkshelf:
    ERROR: Failed to build gem native extension.

        /opt/chef/embedded/bin/ruby extconf.rb
-> sh /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep-selector-libgecode-1.0.2/ext/libgecode3/vendor/gecode-3.7.3/configure --prefix=/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep-selector-libgecode-1.0.2/lib/dep-selector-libgecode/vendored-gecode --disable-doc-dot --disable-doc-search --disable-doc-tagfile --disable-doc-chm --disable-doc-docset --disable-qt --disable-examples --disable-flatzinc
checking for the host operating system... Linux
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether the C++ compiler works... no
configure: error: in `/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep-selector-libgecode-1.0.2/ext/libgecode3/vendor/gecode-3.7.3':
configure: error: C++ compiler cannot create executables
See `config.log' for more details
extconf.rb:98:in `block in run': Failed to build gecode library. (GecodeBuild::BuildError)
    from extconf.rb:97:in `chdir'
    from extconf.rb:97:in `run'
    from extconf.rb:104:in `<main>'


Gem files will remain installed in /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep-selector-libgecode-1.0.2 for inspection.
Results logged to /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep-selector-libgecode-1.0.2/ext/libgecode3/gem_make.out

2 个答案:

答案 0 :(得分:2)

已安装yum install gecode-devel -y但仍然失败。

设置USE_SYSTEM_GECODE=1

# env USE_SYSTEM_GECODE=1 /opt/chef/embedded/bin/gem install berkshelf

使用以下输出失败。

Building native extensions.  This could take a while...
Fetching: dep_selector-1.0.3.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing berkshelf:
    ERROR: Failed to build gem native extension.

        /opt/chef/embedded/bin/ruby extconf.rb
checking for main() in -lgecodesupport... yes
checking for main() in -lgecodesupport... yes
checking for main() in -lgecodekernel... yes
checking for main() in -lgecodeint... yes
checking for main() in -lgecodeminimodel... yes
checking for main() in -lgecodesearch... yes
creating Makefile

make
compiling define_dummy_init.cxx
make: g++: Command not found
make: *** [define_dummy_init.o] Error 127


Gem files will remain installed in /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep_selector-1.0.3 for inspection.
Results logged to /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/dep_selector-1.0.3/ext/dep_gecode/gem_make.out

已安装的c ++编译器。

# yum install gcc-c++

它现在应该成功。

 env USE_SYSTEM_GECODE=1 /opt/chef/embedded/bin/gem install berkshelf
Building native extensions.  This could take a while...
Fetching: solve-1.2.1.gem (100%)
Fetching: thor-0.19.1.gem (100%)
Fetching: sawyer-0.5.5.gem (100%)
Fetching: octokit-3.5.2.gem (100%)
Fetching: berkshelf-3.2.0.gem (100%)
Successfully installed dep_selector-1.0.3
Successfully installed solve-1.2.1
Successfully installed thor-0.19.1
Successfully installed sawyer-0.5.5
Successfully installed octokit-3.5.2
Successfully installed berkshelf-3.2.0
6 gems installed
Installing ri documentation for dep_selector-1.0.3...
Installing ri documentation for solve-1.2.1...
Installing ri documentation for thor-0.19.1...
Installing ri documentation for sawyer-0.5.5...
Installing ri documentation for octokit-3.5.2...
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/stats.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/contents.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/repositories.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/users.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/gists.rb, skipping
Installing ri documentation for berkshelf-3.2.0...
Installing RDoc documentation for dep_selector-1.0.3...
Installing RDoc documentation for solve-1.2.1...
Installing RDoc documentation for thor-0.19.1...
Installing RDoc documentation for sawyer-0.5.5...
Installing RDoc documentation for octokit-3.5.2...
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/stats.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/contents.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/repositories.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/users.rb, skipping
unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/octokit/client/gists.rb, skipping
Installing RDoc documentation for berkshelf-3.2.0...

答案 1 :(得分:1)

这是一个老问题,但它一直在我的谷歌搜索中出现,所以我想我应该尝试留下答案,或者至少对我有用的东西。

尝试将RAM增加到3GB或更多。

我在一个512MB的虚拟系统中运行,并且在构建spiceweasel时在完全相同的位置保持RAM耗尽。将我的RAM增加到3GB(1.5GB还不够)为我解决了这个问题。我希望它会为你解决问题。