2011-01-19 8 views
16

otrzymuję następujący błąd na mojej konsoliNie można zainstalować "gem install event mach". Muszę szpak w moim projekcie, dla szpaka muszę zainstalować eventmachine

[email protected]:~# gem install eventmachine 
Building native extensions. This could take a while... 
ERROR: Error installing eventmachine: 
ERROR: Failed to build gem native extension. 

/usr/local/bin/ruby extconf.rb 
checking for rb_trap_immediate in ruby.h,rubysig.h... yes 
checking for rb_thread_blocking_region()... no 
checking for inotify_init() in sys/inotify.h... yes 
checking for writev() in sys/uio.h... yes 
checking for rb_thread_check_ints()... no 
checking for rb_time_new()... yes 
checking for sys/event.h... no 
checking for epoll_create() in sys/epoll.h... yes 
creating Makefile 

make 
I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DBUILD_FOR_RUBY -DHAVE_RB_TRAP_IMMEDIATE -DHAVE_RBTRAP -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL -DWITH_SSL -fPIC -O2 -g -Wall -Wno-parentheses -Wno-long-long  -o rubymain.o -c rubymain.cpp 
make: I.: Command not found 
make: [rubymain.o] Error 127 (ignored) 
I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DBUILD_FOR_RUBY -DHAVE_RB_TRAP_IMMEDIATE -DHAVE_RBTRAP -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL -DWITH_SSL -fPIC -O2 -g -Wall -Wno-parentheses -Wno-long-long  -o em.o -c em.cpp 
make: I.: Command not found 

za wszelką pomoc i sugestie byłoby bardzo mile widziane.

+0

Naprawiłem wcięcie wyjścia konsoli. W przyszłości należy użyć wcięcia o szerokości 4 spacji, wyświetlając kod lub wynik. –

+0

Potrzebujesz narzędzia do kompilacji – shingara

+0

tego "I." (in make: I .: Command not found) oznacza, że ​​kompilacja nie wiedziała, który kompilator użyć, który powinien być g ++. –

Odpowiedz

41

miałem podobny problem na Ubuntu 11.10 instalowania eventmachine.
Różnica jest (pod koniec kłody)

make: g++: Command not found 

zamiast

make: I.: Command not found 

Ten problem jest związany z C++ na GCC i rozwiązane przez zainstalowanie build-essential

sudo apt-get install build-essential 
1

od dokumentów.

EventMachine mogą wymagać użycia następujących zależności, w zależności od konkretnego użycia:

* OpenSSL 
* libstd++ (some systems, such as debian, may require an explicit 

zainstalować w celu kompilatora poparcie tego)

spróbuj go zainstalować, jeśli używasz debiana

sudo apt-get install libstdc++6 
+0

Cześć Andrea, dzięki za odpowiedź. Zainstalowałem już C++ ręcznie. Ale to nie zadziała dla mnie. –

3

miałem ten sam problem, to jak rozwiązać go [Uwaga: używam ubuntu, więc na „g ++” trzeba użyć „gcc” jeśli używasz jakiegokolwiek innego OS]:

w pierwszej chwili klonuje repozytorium na moim komputerze lokalnym, i zrobił kilka zmian, mają zapoznać się z poniższą procedurą:

git clone git://github.com/eventmachine/eventmachine.git 
cd eventmachine 
gem install rake-compiler 
rake-compiler cross-ruby VERSION=x.x.x-px 

w miejscu xxx-px trzeba używać wersji ruby. zobaczyć listę dostępnych wersji Ruby, które są kompatybilne z natarcia kompilatora here

Następnie przejść i umieścić to: CONFIG['CXX'] = "g++" w /eventmachine/ext/extconf.rb i /eventmachine/ext/fastfilereader/extconf.rb Pliki, poniżej linii require 'mkmf'. następnie: rake gem, a następnie: rake gem:install

Udało się to dla mnie, mam nadzieję, że działa również dla Ciebie.

5

Może również brakować pakietów deweloperów ruby. W zależności od wersji używanego ruby ​​może to być program typu ruby-dev, ruby1.8-dev, ruby1.9-dev lub ruby1.9.1-dev. Miałem ten sam problem i zainstalowałem ruby1.9-dev i ruby1.9.1-dev i to rozwiązało mój problem.

Jest to strona, która doprowadziła mnie do spróbować tego podejścia: http://ruby.about.com/od/faqs/qt/Extconf-Rb-1-In-Require-No-Such-File-To-Load-Mkmf-Loaderror.htm

+0

Moja rubinowa wersja to ruby ​​1.8.7 (2010-12-23 patchlevel 330) [x86_64-linux] i moim systemem operacyjnym jest Ubuntu 10.04 LTS (Lucid Lynx) –

+0

To działało na Debianie, ponieważ brakuje programisty ruby. Po zainstalowaniu działało. –

0

Pamiętaj, aby uruchomić wymagania rvm i postępuj zgodnie z instrukcjami w Additio nal Dependencies.

0

dla wszystkich użytkowników z systemem openSUSE musisz wykonać polecenie:

zypper in -t pattern devel_C_C++ 

Dla uproszczenia można powiedzieć, że jest to równoznaczne z tym poleceniem pod Ubuntu:

sudo apt-get install build-essential 
1

I m używając Ubuntu 16.10 sudo apt-get install ruby-dev build-essential następnie sudo gem install eventmachine. To rozwiązało to dla mnie.

+0

Miałem ten sam problem i ta odpowiedź rozwiązała mój problem. dzięki @Online Sid – AmanKumar

Powiązane problemy