当我尝试在OSX上安装eventmachine时出现此错误。
Building native extensions. This could take a while... ERROR: Error installing eventmachine: ERROR: Failed to build gem native extension. /Users/ncharass/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb checking for rb_trap_immediate in ruby.h,rubysig.h... no checking for rb_thread_blocking_region()... 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_check_ints()... yes checking for rb_time_new()... yes checking for sys/event.h... yes checking for sys/queue.h... yes creating Makefile make g++ -I. -I/Users/ncharass/.rvm/rubies/ruby-1.9.2-head/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/ncharass/.rvm/rubies/ruby-1.9.2-head/include/ruby-1.9.1/ruby/backward -I/Users/ncharass/.rvm/rubies/ruby-1.9.2-head/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_THREAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_SYS_EVENT_H -DHAVE_SYS_QUEUE_H -DHAVE_KQUEUE -DWITH_SSL -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o binder.o -c binder.cpp g++: error: unrecognized command line option ‘-Wshorten-64-to-32’ make: *** [binder.o] Error 1 Gem files will remain installed in /Users/ncharass/.rvm/gems/ruby-1.9.2-head@comp.com/gems/eventmachine-0.12.10 for inspection. Results logged to /Users/ncharass/.rvm/gems/ruby-1.9.2-head@comp.com/gems/eventmachine-0.12.10/ext/gem_make.out
这是我的g ++版本。
Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin10.7.4/4.7.0/lto-wrapper Target: x86_64-apple-darwin10.7.4 Configured with: ../gccgo/configure --enable-languages=c,c++,go --with-ld=/usr/bin/ld Thread model: posix gcc version 4.7.0 20110520 (experimental) (GCC)
非常感谢。
答案 0 :(得分:3)
从Google上看,似乎这是用于Ruby的内容与用于EventMachine的内容之间的编译器不匹配。 Instant Badger有一个很好的写作可能会有所帮助。