2013-03-22 2 views
1

Я очень новичок в таких терминах, как ruby, rvm, gems; но я пытаюсь установить Discourse на сервере Ubuntu 12.10. У меня есть все драгоценные камни, установленные с помощью bundle install, за исключением одного, fast_xor:Неисправность установки fast_xor Gem на Ubuntu для дискурса

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:

[email protected]45-40-185:~/discourse$ rvm list 

rvm rubies 

=* ruby-2.0.0-p0 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 

я не уверен, куда идти?

+0

Установил жемчужину на Ubuntu 12.04, также созданный без проблем. У вас есть шанс включить 12,04. Кроме того, это LTS, что означает, что он поддерживается до 2017 года. – ekremkaraca

+0

Я думаю, что сообщение об ошибке означает один из каталогов в пути '/home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1 .1/lib/fast_xor' не существует. –

+0

@tc Правильно, каталог '/ lib /' не существовал, но даже когда я создаю его вручную, прежде чем пытаться установить Gem, кажется, что часть процесса сборки удаляет каталог, как после неудачной сборки, каталог отсутствует. –

ответ

-3

Это ошибка в перл: https://github.com/CodeMonkeySteve/fast_xor/issues/5

Всегда проверяйте систему отслеживания проблем проекта, прежде чем задавать вопросы - stavkoverflow для решения проблем, не сообщая об ошибках.

+2

Эта проблема была открыта 12 часов назад, 6 часов * после * Я задал свой вопрос. Я ценю ответ, но нет необходимости в выговоре. :) –

4

В вашей 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"