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

Can't install on macOs 12.6.7 #66

Open
SaszaZ opened this issue Jun 28, 2023 · 0 comments
Open

Can't install on macOs 12.6.7 #66

SaszaZ opened this issue Jun 28, 2023 · 0 comments

Comments

@SaszaZ
Copy link

SaszaZ commented Jun 28, 2023

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?

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

1 participant