' sudo gem install eventmachine -v 1.0.8'在mac os上

时间:2015-12-12 11:46:38

标签: ruby-on-rails ruby macos gem bundler

这是我在mac os上安装eventmachine时遇到的一个错误,我已经尝试了所有答案,但到目前为止还没有解决,这里是错误日志。



<pre><code>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... no
checking for rb_thread_blocking_region()... yes
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for pipe2() in unistd.h... no
checking for accept4() in sys/socket.h... no
checking for SOCK_CLOEXEC in sys/socket.h... no
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue.h... yes
CFLAGS=$(cflags)  -pipe -I/opt/local/include -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result
CPPFLAGS=-D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags) -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result
checking for clock_gettime()... no
checking for gethrtime()... no
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling binder.cpp
In file included from binder.cpp:20:0:
project.h:29:20: fatal error: iostream: No such file or directory
 #include <iostream>
                    ^
compilation terminated.
make: *** [binder.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.8 for inspection.
Results logged to /usr/local/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-15/2.1.0-static/eventmachine-1.0.8/gem_make.out</code></pre>
&#13;
&#13;
&#13;

请任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这是你的问题:

make "DESTDIR="
compiling binder.cpp
In file included from binder.cpp:20:0:
project.h:29:20: fatal error: iostream: No such file or directory
#include <iostream>

发生了什么,编译器无法找到project.h&包括iostream。您可以手动安装它,下面提供的链接。

https://github.com/eventmachine/eventmachine/wiki/Building-EventMachine

此链接可能有助于解决您的问题。

C++ Hello World trouble on OSX10.8

另一个潜在的快速解决方法是手动安装它,看看添加标题扩展名是否能解决您的问题。

#include <iostream.h>

答案 1 :(得分:0)

如果您使用的是Mac OSX el captain,默认情况下不会安装openssl标头,因此请尝试安装openssl。如果已安装openssl,请尝试使用以下命令重新链接

brew link openssl --force

有关详细信息,请参阅此问题 - https://github.com/eventmachine/eventmachine/issues/643