Установка пакета не удалась из-за драгоценного камня unf_ext (0.0.5)

Я установил ruby ​​1.9.3p327 и rails 3.2.8, используя rvm на centos 6.3. Но при выполнении пакетной установки для определенной папки проекта процесс завершается с ошибкой, когда он пытается установить gem unf_ext 0.0.5 и выдает следующую ошибку,

Установка unf_ext (0.0.5) с собственными расширениями Gem::Installer::ExtensionBuildError: ОШИБКА: не удалось создать собственное расширение gem.

/home/rradmin/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb -fPIC
checking for main() in -lstdc++... yes
checking for ruby/encoding.h... yes
creating Makefile

make
compiling unf.cc
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/vector:61,
from unf/normalizer.hh:4,
from unf.cc:1:
.....
....
...

Gem файлы останутся установленными в /home/rradmin/.rvm/gems/ruby-1.9.3-p327@r32/gems/unf_ext-0.0.5 для проверки. Результаты заносятся в /home/rradmin/.rvm/gems/ruby-1.9.3-p327@r32/gems/unf_ext-0.0.5/ext/unf_ext/gem_make.out

Произошла ошибка при установке unf_ext (0.0.5), и Bundler не может продолжить. Удостоверься что gem install unf_ext -v '0.0.5' успешно до комплектации.

Я также пытался установить unf_ext отдельно, как упоминалось выше, но получил ту же ошибку. Я ссылался на https://github.com/cowboyd/therubyracer/issues/135, но все еще не смог решить проблему. Пожалуйста, дайте мне знать правильный способ решить эту проблему.

Спасибо.

4 ответа

Решение

Спасибо, Суман. Но я решил проблему, установив libstdC++-devel, используя yum install gcc-g++ libstdC++-devel.

На Ubuntu мне нужно было только сделать

sudo apt-get install build-essential

чтобы исправить это.

(для справки я на только что собранной Ubuntu 12.10 Server X64)

Эта ошибка возникает, когда у вас нет вспомогательных библиотек для компиляции гема, попробуйте установить следующие пакеты

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core     zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison

тогда сделайте пакетную установку

Я решил проблему, установив libstdC++-devel, используя yum install gcc-c++ libstdc++-devel

Другие вопросы по тегам