jedi4ever / veewee

Easing the building of vagrant boxes
MIT License
4.29k stars 779 forks source link

Can't compile new version with ruby 2.2.0 #1039

Open symgryph opened 9 years ago

symgryph commented 9 years ago

I get this: I am using rvm, and follow instructions exactly.

em.cpp:599:13: error: use of undeclared identifier 'rb_thread_select'; did you mean 'rb_thread_fd_select'? if ((ret = rb_thread_select(kqfd + 1, &fdreads, NULL, NULL, &tv)) < 1) { ^~~~ rb_thread_fd_select /Users/tjmunn/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:454:5: note: 'rb_thread_fd_select' declared here int rb_thread_fd_select(int, rb_fdsett , rb_fdset_t , rb_fdset_t , struct timeval ); ^ em.cpp:599:40: error: cannot initialize a parameter of type 'rb_fdset_t ' with an rvalue of type 'fd_set ' if ((ret = rb_thread_select(kqfd + 1, &fdreads, NULL, NULL, &tv)) < 1) { ^~~~ /Users/tjmunn/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:454:42: note: passing argument to parameter here int rb_thread_fd_select(int, rb_fdset_t , rb_fdset_t , rb_fdset_t , struct timeval *); ^ em.cpp:812:9: error: use of undeclared identifier 'rb_thread_select'; did you mean 'rb_thread_fd_select'? return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv); ^~~~ rb_thread_fd_select ./em.h:25:20: note: expanded from macro 'EmSelect'

define EmSelect rb_thread_select

               ^

/Users/tjmunn/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:454:5: note: 'rb_thread_fd_select' declared here int rb_thread_fd_select(int, rb_fdset_t , rb_fdset_t , rb_fdset_t , struct timeval ); ^ em.cpp:812:32: error: cannot initialize a parameter of type 'rb_fdset_t ' with an rvalue of type 'fd_set ' return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv); ^~~~ /Users/tjmunn/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:454:42: note: passing argument to parameter here int rb_thread_fd_select(int, rb_fdset_t , rb_fdset_t , rb_fdset_t , struct timeval ); ^ em.cpp:951:6: error: use of undeclared identifier 'rb_thread_select'; did you mean 'rb_thread_fd_select'? EmSelect (0, NULL, NULL, NULL, &tv); ^~~~ rb_thread_fd_select ./em.h:25:20: note: expanded from macro 'EmSelect'

define EmSelect rb_thread_select

               ^

/Users/tjmunn/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:454:5: note: 'rb_thread_fd_select' declared here int rb_thread_fd_select(int, rb_fdset_t , rb_fdset_t , rb_fdsett , struct timeval ); ^ 5 errors generated. make: ** [em.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/tjmunn/.rvm/gems/ruby-2.2.0@veewee/gems/eventmachine-1.0.0.beta.3 for inspection. Results logged to /Users/tjmunn/.rvm/gems/ruby-2.2.0@veewee/extensions/x86_64-darwin-14/2.2.0/eventmachine-1.0.0.beta.3/gem_make.out

bobjohnbob commented 9 years ago

I ran into this issue too and I changed ruby to version 1.9.3p547. This allowed it to compile.