Description
While instaling on macOs 12.6.7 using updated RubyGems i get the following error:
`ERROR: Error installing airplayer:
ERROR: Failed to build gem native extension.
current directory: /usr/local/lib/ruby/gems/3.0.0/gems/nio4r-1.1.1/ext/nio4r
/usr/local/opt/ruby/bin/ruby extconf.rb
checking for unistd.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_without_gvl()... 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
current directory: /usr/local/lib/ruby/gems/3.0.0/gems/nio4r-1.1.1/ext/nio4r
make DESTDIR= sitearchdir=./.gem.20230628-20817-1u5mn9 sitelibdir=./.gem.20230628-20817-1u5mn9 clean
current directory: /usr/local/lib/ruby/gems/3.0.0/gems/nio4r-1.1.1/ext/nio4r
make DESTDIR= sitearchdir=./.gem.20230628-20817-1u5mn9 sitelibdir=./.gem.20230628-20817-1u5mn9
compiling monitor.c
compiling nio4r_ext.c
In file included from nio4r_ext.c:7:
./../libev/ev.c:487:48: warning: '/' within block comment [-Wcomment]
/#define MIN_INTERVAL 0.00000095367431640625 /* 1/2**20, good till 2200 */
^
./../libev/ev.c:1031:26: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32]
return ecb_popcount32 (x) + ecb_popcount32 (x >> 32);
~~~~~~~~~~~~~~~~^~
./../libev/ev.c:917:49: note: expanded from macro 'ecb_popcount32'
#define ecb_popcount32(x) __builtin_popcount (x)
~~~~~~~~~~~~~~~~~~ ^
./../libev/ev.c:1696: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 */
^
./../libev/ev.c:1783:7: warning: implicit conversion loses integer precision: 'long' to '__darwin_suseconds_t' (aka 'int') [-Wshorten-64-to-32]
EV_TV_SET (tv, delay);
^~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:492:64: note: expanded from macro 'EV_TV_SET'
#define EV_TV_SET(tv,t) do { tv.tv_sec = (long)t; tv.tv_usec = (long)((t - tv.tv_sec) * 1e6); } while (0)
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:1805:19: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (elem * ncur > MALLOC_ROUND - sizeof (void *) * 4)
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:2147:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
k = minpos - heap;
~ ~~~~~~~^~~~~~
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2555:
./../libev/ev_kqueue.c:115:34: warning: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int fd = kqueue_events [i].ident;
~~ ~~~~~~~~~~~~~~~~~~^~~~~
./../libev/ev_kqueue.c:119:39: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
int err = kqueue_events [i].data;
~~~ ~~~~~~~~~~~~~~~~~~^~~~
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2564:
./../libev/ev_select.c:109:24: warning: implicit conversion loses integer precision: 'unsigned long' to 'fd_mask' (aka 'int') [-Wshorten-64-to-32]
fd_mask mask = 1UL << (fd % NFDBITS);
~~~~ ~~~~^~~~~~~~~~~~~~~~~
./../libev/ev_select.c:147:3: warning: implicit conversion loses integer precision: 'long' to 'darwin_suseconds_t' (aka 'int') [-Wshorten-64-to-32]
EV_TV_SET (tv, timeout);
^~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:492:64: note: expanded from macro 'EV_TV_SET'
#define EV_TV_SET(tv,t) do { tv.tv_sec = (long)t; tv.tv_usec = (long)((t - tv.tv_sec) * 1e6); } while (0)
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2564:
./../libev/ev_select.c:259:34: warning: implicit conversion loses integer precision: 'unsigned long' to 'fd_mask' (aka 'int') [-Wshorten-64-to-32]
fd_mask mask = 1UL << bit;
~~~~ ~~~~^~~~~~
In file included from nio4r_ext.c:7:
./../libev/ev.c:3418:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
./../libev/ev.c:3604:9: error: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rb_thread_call_without_gvl(ev_backend_poll, (void *)&poll_args, RUBY_UBF_IO, 0);
^
./../libev/ev.c:3805:34: warning: '&' within '|' [-Wbitwise-op-parentheses]
fd_change (EV_A fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
~~~~~~~~~~^~~~~~~~~~~~~ ~
./../libev/ev.c:3805:34: note: place parentheses around the '&' expression to silence this warning
fd_change (EV_A fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
^
( )
13 warnings and 1 error generated.
make: *** [nio4r_ext.o] Error 1
make failed, exit code 2`
How can i make the gem work?
Activity