0

尝试在我的 ubuntu 12.04 服务器上安装 eventmachine 时出错。有任何想法吗?

bundle exec gem install eventmachine
Building native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
    ERROR: Failed to build gem native extension.

        /opt/ruby-enterprise-1.8.7-2012.02/bin/ruby extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
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
g++  -I. -I/opt/local/include -I. -I/opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/i686-linux -I. -DWITH_SSL -DBUILD_FOR_RUBY -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL  -D_FILE_OFFSET_BITS=64  -fPIC -g -O2       -c binder.cpp
In file included from /usr/include/i386-linux-gnu/bits/sigcontext.h:28:0,
                 from /usr/include/signal.h:339,
                 from project.h:40,
                 from binder.cpp:20:
/usr/include/i386-linux-gnu/asm/sigcontext.h:5:25: fatal error: linux/types.h: No such file or directory
compilation terminated.
make: *** [binder.o] Error 1
4

1 回答 1

1

我刚刚遇到了同样的问题。types.h 的路径在您的发行版中不同,或者根本不存在。尝试手动包含它。
http://linux.die.net/include/sys/types.h

您的程序将在尝试“包含”types.h 时为您提供一个文件和行号错误。我为解决这个问题所做的是将 types.h 添加到与请求它的文件相同的文件夹中。然后你进入文件,在包含错误所在的行上,并用“types.h”替换(例如)“/linux/types.h”的路径,因为它在同一个目录中。现在,制作,制作安装。如果您收到另一个包含问题,您可能需要考虑更改口味,或者如果您愿意,请继续添加包含。欢迎来到黑客的美妙世界。:)

于 2013-06-08T09:39:11.727 回答