Проблемы с установкой fast_xor Gem в Ubuntu для Discourse
Я очень плохо знаком с такими терминами, как ruby, rvm, gems; но я пытаюсь установить Discourse на сервер Ubuntu 12.10. У меня все драгоценные камни установлены с использованием bundle install
за исключением одного, fast_xor
:
Installing fast_xor (1.1.1)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/home/ubuntu/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb
creating Makefile
make
compiling xor.c
xor.c: In function ‘string_xor’:
xor.c:28:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
xor.c:45:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
linking shared-object xor.so
make install
/usr/bin/install -c -m 0755 xor.so /home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1/lib/fast_xor
/usr/bin/install: cannot create regular file `/home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1/lib/fast_xor': No such file or directory
make: *** [install-so] Error 1
Gem files will remain installed in /home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1 for inspection.
Results logged to /home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1/ext/xor/gem_make.out
An error occurred while installing fast_xor (1.1.1), and Bundler cannot continue.
Make sure that `gem install fast_xor -v '1.1.1'` succeeds before bundling.
Я проверил fast_xor
проект из Git, но я получаю аналогичную ошибку при компиляции из источника.
rvm list
перечисляет только одну версию Ruby:
ubuntu@ip-10-245-40-185:~/discourse$ rvm list
rvm rubies
=* ruby-2.0.0-p0 [ x86_64 ]
# => - current
# =* - current && default
# * - default
Я не уверен, куда идти отсюда?
2 ответа
Это ошибка в жемчужине: https://github.com/CodeMonkeySteve/fast_xor/issues/5
Всегда проверяйте систему отслеживания проблем в проекте, прежде чем задавать вопросы - stavkoverflow предназначен для решения проблем, а не для сообщения об ошибках.
В вашем Gemfile
заменить строку:
gem 'fast_xor'
Для следующего (вытащить fast_xor из репозитория Git, в котором исправлена ошибка):
gem "fast_xor", :git => "git://github.com/CodeMonkeySteve/fast_xor.git"
Если по какой-либо причине в вашей сети запущен протокол git (как в моем случае), вы можете заменить его на HTTPS:
gem "fast_xor", :git => "https://github.com/CodeMonkeySteve/fast_xor.git"