-
Notifications
You must be signed in to change notification settings - Fork 634
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eventmachine 1.0.3 doesnt compile under OSX 10.10.1 with Ruby 2.2.0 #553
Comments
You need to update eventmachine to 1.0.4 in order to make it work with Ruby 2.2.0 (#509). |
+1 upgrading to 1.0.4 got rid of this bug for me. |
Yay! Works. Glad this update was ready to go for the official Ruby 2.2 release. |
eventmachine 1.0.4 was released with ruby 2.2 compatibility |
+1 upgrading to 1.0.4 |
Had an issue with eventmachine 1.0.3. It does not compile under os x 10.10.1 with ruby 2.2.0. See issue: eventmachine/eventmachine#553
I'm actually still running into this exact issue with 1.0.7, running OS X 10.10.2, and LLVM v6.1.0. I'm using ruby 2.2.1 via RVM (tried it on 2.2.0 and had same issue). I'm completely stumped -- any suggestions hugely appreciated. A friend running LLVM 6.0 under the same setup had no issues, so my only guess is the command line tools update? |
@jayperryworks if I may suggest... I've solved installing Xcode 6.3 (you can find it here) ... not only the Command Line Tools, though. |
Thanks @zeroed! I wonder if the full Xcode ships with newer stuff that trickles down to command line tools later. I only need event machine for Livereload, so I'll hold off a little while and see if an update comes out for GCC. |
You might try installing the 10.10.2 / Xcode 6.2 command line developer tools. The 6.3 ones don't include the right headers in the right location. |
The suggestion by @skunkworker worked for me. I was having a similar problem, where event machine installed fine last week but not today. The current release date on CL tools 6.3 is April 9 so I assume that 6.3 was installed in a software update at the end of last week. I installed 6.2 and eventmachine successfully installs on OS 10.10. |
@michaelbarton It seems as though a certain header file was not being installed on a fresh 10.10.3 install if you had never installed 10.10.2. If you install the 10.10.2 then the 10.10.3 tools it still seems to work. |
Yes, this works for me as well. Installing 6.2. from developer.apple.com/downloads (although 6.3. was installed via automatic update) solved the issue. |
Worked for me too! Brilliant. Cheers, all, much appreciated. |
Nice! Thanks! |
+1 as well! |
I am having trouble installing eventmachine 1.0.3,1.0.4, or 1.0.7. Cant bundle install because of this. i have ruby 2.2.2 and OSX 10.11.4. Does anyone know how to solve this? Much appreciated! |
I am happy to help debug problems with either of the most current revisions of EventMachine, which are 1.0.9.1 and 1.2.0.1.
|
Thank you! but actually i figure it out. needed to install eventmachine which required 'brew install openssl' and then 'brew link openssl --force', then uploaded the new gemfile.lock |
Eventmachine 1.0.3 doesn't build on some combinations of ruby and os x- eventmachine/eventmachine#553
Error with eventmachine dependency version, see eventmachine/eventmachine#553
I had to bundle an old project today on macOS Sierra. It has eventmachine v1.0.3 in the A basic
I had configured Bundler before to use OpenSSL installed with Homebrew:
Apparently this did not help. I decided to see what OpenSSL formula has to say about all this:
I decided to set these environment variables and see if it makes a difference:
This totally helped! The bundle has been installed without errors. Hope this helps the next googler ❤️ |
Thank you! It fails to work well Notice |
em.cpp:1124:40: error: invalid operands to binary expression ('__bind<int &, sockaddr *&, int &>' and 'int')
if (bind (sd, bind_to, bind_to_size) < 0) {
em.cpp:1543:6: error: value of type '__bind<int &, sockaddr *&, int &>' is not contextually convertible to 'bool'
if (bind (sd_accept, bind_here, bind_size)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
em.cpp:1603:53: error: invalid operands to binary expression ('__bind<int &, sockaddr *, unsigned long>' and 'int')
if (bind (sd, (struct sockaddr*)&sin, sizeof(sin)) != 0)
em.cpp:1871:6: error: value of type '__bind<int &, sockaddr *, unsigned long>' is not contextually convertible to 'bool'
if (bind (sd_accept, (struct sockaddr*)&s_sun, sizeof(s_sun))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings and 4 errors generated.
make: *** [em.o] Error 1
make failed, exit code 2 ruby 2.2.7 gem i eventmachine -v 1.0.4 |
@googya this is already fixed please update to EM 1.2.6 or newer. |
The issue is resolved in a newer version of EM. There may be some workarounds in the relevant tickets in the issue tracker. But I strongly advise that you work through updating. |
ok, I will try, thanks for your advice, @sodabrew |
When installing on OSX Yosemite 10.10.1 with Ruby 2.2.0p0 I get the following error.
gem install eventmachine -v '1.0.3'
Building native extensions. This could take a while...
ERROR: Error installing eventmachine:
ERROR: Failed to build gem native extension.
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... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
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
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling binder.cpp
compiling cmain.cpp
compiling ed.cpp
compiling em.cpp
em.cpp:827: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/john/.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:827: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/john/.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:946: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/john/.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 *);
^
3 errors generated.
make: ** [em.o] Error 1
make failed, exit code 2
The text was updated successfully, but these errors were encountered: