2013-03-22 2 views
1

저는 ruby, rvm, gems와 같은 용어에 매우 익숙합니다. Ubuntu 12.10 서버에 Discourse를 설치하려고합니다. 나는 힘내에서 fast_xor 프로젝트를 체크 아웃 한fast_xor를 설치하는 데 문제가 있습니다. Ubuntu for Discourse의 보석

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. 

하지만 소스에서 컴파일 할 때 비슷한 오류가 나타납니다 : 나는 bundle install를 사용하여 설치된 모든 보석을 가지고, 하나 fast_xor을 저장합니다.

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

rvm rubies 

=* ruby-2.0.0-p0 [ x86_64 ] 

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

내가 당장은 확실하지 않다 :

rvm list은 루비의 한 버전을 나열?

+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 /'디렉토리는 존재하지 않습니다. -하지만 젬을 설치하기 전에 수동으로 만들었더라도 빌드 프로세스의 일부분이 디렉토리를 제거한 것으로 보입니다. 디렉토리가 없습니다. –

답변

-3

그것은 보석의 버그는 다음과 같습니다

https://github.com/CodeMonkeySteve/fast_xor/issues/5 항상 질문을하기 전에 프로젝트의 이슈 트래커를 확인 - stavkoverflow 버그를보고하지 않는 문제를 해결하기위한 것입니다.

gem "fast_xor", :git => "git://github.com/CodeMonkeySteve/fast_xor.git" 

만약 어떤 이유에 대한 : (고정 버그가있는 Git 저장소에서 fast_xor 끌어 오기) 다음과 같은 하나

gem 'fast_xor' 

: Gemfile 라인을 대체 당신에

+2

그 문제는 12 시간 전에 열렸습니다. 6 시간 후에 * 나는 내 질문에 답했습니다. 답을 고맙게 생각하지만 견책을받을 필요가 없습니다. :) –

4

git 프로토콜이 네트워크에서 방화벽으로 보호 된 경우 (예 : 내 경우) HTTPS로 바꿀 수 있습니다.

gem "fast_xor", :git => "https://github.com/CodeMonkeySteve/fast_xor.git"