Skip to content
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

Fails to build on osx 10.9.2 #45

Closed
tbremer opened this issue Apr 9, 2014 · 9 comments
Closed

Fails to build on osx 10.9.2 #45

tbremer opened this issue Apr 9, 2014 · 9 comments

Comments

@tbremer
Copy link

tbremer commented Apr 9, 2014

I saw another post, but those fixes weren't helpful for me. Here are my logs.

Specs:
Macbook pro, 10.9.2
ruby version: 2.0.0p247
GCC Version:
gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix

Any direction would be really helpful, thanks.

sudo gem install nio4r
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing nio4r:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... yes
checking for sys/select.h... yes
checking for poll.h... yes
checking for sys/epoll.h... no
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for port.h... no
checking for sys/resource.h... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling monitor.c
In file included from monitor.c:6:
In file included from ./nio4r.h:10:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward/rubyio.h:2:2: warning: use "ruby/io.h" instead of "rubyio.h" [-W#warnings]
#warning use "ruby/io.h" instead of "rubyio.h"
 ^
1 warning generated.
compiling nio4r_ext.c
In file included from nio4r_ext.c:6:
In file included from ./nio4r.h:10:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward/rubyio.h:2:2: warning: use "ruby/io.h" instead of "rubyio.h" [-W#warnings]
#warning use "ruby/io.h" instead of "rubyio.h"
 ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:481:48: warning: '/*' within block comment [-Wcomment]
/*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
                                               ^
./../libev/ev.c:1535:31: warning: 'extern' variable has an initializer [-Wextern-initializer]
  EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
                              ^
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2400:
./../libev/ev_poll.c:110:18: warning: expression result unused [-Wunused-value]
        assert (("libev: poll() returned illegal result, broken BSD kernel?", p < polls + pollcnt));
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2806:12: warning: expression result unused [-Wunused-value]
  assert (("libev: watcher has invalid priority", ABSPRI (w) >= 0 && ABSPRI (w) < NUMPRI));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2809:14: warning: expression result unused [-Wunused-value]
    assert (("libev: pending watcher not on pending queue", pendings [ABSPRI (w)][w->pending - 1].w == w));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2819:16: warning: expression result unused [-Wunused-value]
      assert (("libev: active index mismatch in heap", ev_active (ANHE_w (heap [i])) == i));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2820:16: warning: expression result unused [-Wunused-value]
      assert (("libev: heap condition violated", i == HEAP0 || ANHE_at (heap [HPARENT (i)]) <= ANHE_at (heap [i])));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2821:16: warning: expression result unused [-Wunused-value]
      assert (("libev: heap at cache mismatch", ANHE_at (heap [i]) == ev_at (ANHE_w (heap [i]))));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2832:16: warning: expression result unused [-Wunused-value]
      assert (("libev: active index mismatch", ev_active (ws [cnt]) == cnt + 1));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2850:14: warning: expression result unused [-Wunused-value]
    assert (("libev: negative fd in fdchanges", fdchanges [i] >= 0));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2863:24: warning: expression result unused [-Wunused-value]
              assert (("libev: io watcher list contains a loop", w != w2));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2867:20: warning: expression result unused [-Wunused-value]
          assert (("libev: inactive fd watcher on anfd list", ev_active (w) == 1));
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:2868:20: warning: expression result unused [-Wunused-value]
          assert (("libev: fd mismatch between watcher and anfd", ((ev_io *)w)->fd == i));
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3050:24: warning: expression result unused [-Wunused-value]
              assert (("libev: negative ev_timer repeat value found while processing timers", w->repeat > 0.));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3112:24: warning: expression result unused [-Wunused-value]
              assert (("libev: ev_periodic reschedule callback returned time in the past", ev_at (w) >= ev_rt_now));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3257:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
./../libev/ev.c:3274:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_loop recursion during release detected", loop_done != EVBREAK_RECURSE));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3446:22: warning: expression result unused [-Wunused-value]
            assert (("libev: pipe_w not active, but pipe not written", ev_is_active (&pipe_w)));
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3620:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_io_start called with negative fd", fd >= 0));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3621:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_io_start called with illegal event mask", !(w->events & ~(EV__IOFDSET | EV_READ | EV_WRITE))));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3630:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_io_start called with corrupted watcher", ((WL)w)->next != (WL)w));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3632:34: warning: '&' within '|' [-Wbitwise-op-parentheses]
  fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
                       ~~~~~~~~~~^~~~~~~~~~~~~ ~
./../libev/ev.c:3632:34: note: place parentheses around the '&' expression to silence this warning
  fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
                                 ^
                       (                      )
./../libev/ev.c:3645:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_io_stop called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3665:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_timer_start called with negative timer repeat value", w->repeat >= 0.));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3693:14: warning: expression result unused [-Wunused-value]
    assert (("libev: internal timer heap corruption", ANHE_w (timers [active]) == (WT)w));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3755:16: warning: expression result unused [-Wunused-value]
      assert (("libev: ev_periodic_start called with negative interval value", w->interval >= 0.));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3787:14: warning: expression result unused [-Wunused-value]
    assert (("libev: internal periodic heap corruption", ANHE_w (periodics [active]) == (WT)w));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3824:12: warning: expression result unused [-Wunused-value]
  assert (("libev: ev_signal_start called with illegal signal number", w->signum > 0 && w->signum < EV_NSIG));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3827:12: warning: expression result unused [-Wunused-value]
  assert (("libev: a signal must not be attached to two different loops",
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3945:12: warning: expression result unused [-Wunused-value]
  assert (("libev: child watchers are only supported in the default loop", loop == ev_default_loop_ptr));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4524:14: warning: expression result unused [-Wunused-value]
    assert (("libev: loop to be embedded is not embeddable", backend & ev_embeddable_backends ()));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
32 warnings generated.
compiling selector.c
In file included from selector.c:6:
In file included from ./nio4r.h:10:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward/rubyio.h:2:2: warning: use "ruby/io.h" instead of "rubyio.h" [-W#warnings]
#warning use "ruby/io.h" instead of "rubyio.h"
 ^
In file included from selector.c:7:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward/rubysig.h:14:2: warning: rubysig.h is obsolete [-W#warnings]
#warning rubysig.h is obsolete
 ^
selector.c:391:43: warning: incompatible pointer types passing 'VALUE (VALUE)' to parameter of type 'VALUE (*)(VALUE *)' [-Wincompatible-pointer-types]
    return NIO_Selector_synchronize(self, NIO_Selector_close_synchronized, self);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
selector.c:157:59: note: passing argument to parameter 'func' here
static VALUE NIO_Selector_synchronize(VALUE self, VALUE (*func)(VALUE *args), VALUE *args)
                                                          ^
selector.c:391:76: warning: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'VALUE *' (aka 'unsigned long *'); take the address with & [-Wint-conversion]
    return NIO_Selector_synchronize(self, NIO_Selector_close_synchronized, self);
                                                                           ^~~~
                                                                           &
selector.c:157:86: note: passing argument to parameter 'args' here
static VALUE NIO_Selector_synchronize(VALUE self, VALUE (*func)(VALUE *args), VALUE *args)
                                                                                     ^
selector.c:407:43: warning: incompatible pointer types passing 'VALUE (VALUE)' to parameter of type 'VALUE (*)(VALUE *)' [-Wincompatible-pointer-types]
    return NIO_Selector_synchronize(self, NIO_Selector_closed_synchronized, self);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
selector.c:157:59: note: passing argument to parameter 'func' here
static VALUE NIO_Selector_synchronize(VALUE self, VALUE (*func)(VALUE *args), VALUE *args)
                                                          ^
selector.c:407:77: warning: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'VALUE *' (aka 'unsigned long *'); take the address with & [-Wint-conversion]
    return NIO_Selector_synchronize(self, NIO_Selector_closed_synchronized, self);
                                                                            ^~~~
                                                                            &
selector.c:157:86: note: passing argument to parameter 'args' here
static VALUE NIO_Selector_synchronize(VALUE self, VALUE (*func)(VALUE *args), VALUE *args)
                                                                                     ^
6 warnings generated.
linking shared-object nio4r_ext.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [nio4r_ext.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nio4r-1.0.0 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-13/2.0.0/nio4r-1.0.0/gem_make.out
@tbremer
Copy link
Author

tbremer commented Apr 9, 2014

This appear to be an issue with the ruby 2.0.0p247 and XCODE 5.1 in the release notes it says:

The Apple LLVM compiler in Xcode 5.1 treats unrecognized command-line options as errors. This issue has been seen when building both Python native extensions and Ruby Gems, where some invalid compiler options are currently specified.
Projects using invalid compiler options will need to be changed to remove those options. To help ease that transition, the compiler will temporarily accept an option to downgrade the error to a warning:

-Wno-error=unused-command-line-argument-hard-error-in-future

To workaround this issue, set the ARCHFLAGS environment variable to downgrade the error to a warning.

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

Their snippet at the end of the release notes allowed for a clean install of the gem.

This works:
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nio4r

@digitalextremist
Copy link

Is this #56 solved by #40 also @tbremer? /cc: @Asmod4n

@Asmod4n
Copy link

Asmod4n commented Jan 24, 2015

Not related to #40.
This is something Apple must fix in 10.9, ruby has a patch for it. But Apple hasn't updated their version of ruby yet for 10.9: https://bugs.ruby-lang.org/issues/9624.
10.10 has a newer ruby with the fix in it.

Only Solution so far for 10.9 is to use something like homebrew or build ruby on your own.

When someone is very brave, this will forcefully fix the ruby installation of 10.9: http://stackoverflow.com/a/22583048

@Asmod4n
Copy link

Asmod4n commented Jan 24, 2015

This can be closed, since nio4r cannot fix it.

@digitalextremist
Copy link

Roger that. Sorry @tbremer; good luck.

@tbremer
Copy link
Author

tbremer commented Jan 24, 2015

Agreed, this should be closed!

Thanks @digitalextremist!

@Asmod4n
Copy link

Asmod4n commented Jan 24, 2015

Sorry about that @tbremer, looks like the ruby shipped with 10.9 cannot build any native extension :/

@tbremer
Copy link
Author

tbremer commented Jan 24, 2015

@Asmod4n no worries!

I believe this sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nio4r worked

Furthermore, I think we brought all of our devs up to newer versions of Ruby w/RBENV or RVM.

@digitalextremist
Copy link

Right on @tbremer! Glad this is worked around as well as not nio4r based.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants