I am receiving the following when attempting to build 0.65 with ruby 3.0.2 on a Mac running 11.4
current directory: /usr/local/var/rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/polyphony-0.65/ext/polyphony
/usr/local/var/rbenv/versions/3.0.2/bin/ruby -I /usr/local/var/rbenv/versions/3.0.2/lib/ruby/3.0.0 -r ./siteconf20210730-2994-f0czo5.rb extconf.rb
checking for linux/aio_abi.h... no
checking for sys/select.h... yes
checking for port_event_t in poll.h... no
checking for sys/epoll.h... no
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for port_event_t in port.h... no
checking for sys/resource.h... yes
creating Makefile
current directory: /usr/local/var/rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/polyphony-0.65/ext/polyphony
make DESTDIR\= clean
current directory: /usr/local/var/rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/polyphony-0.65/ext/polyphony
make DESTDIR\=
compiling backend_common.c
backend_common.c:303:28: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
.runqueue_max_length = runqueue_max_len(&base->runqueue),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
backend_common.c:302:24: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
.runqueue_length = runqueue_len(&base->runqueue),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
backend_common.c:301:22: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
.runqueue_size = runqueue_size(&base->runqueue),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
compiling backend_io_uring.c
compiling backend_io_uring_context.c
compiling backend_libev.c
backend_libev.c:270:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
int current_len = RSTRING_LEN(str);
~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
/usr/local/var/rbenv/versions/3.0.2/include/ruby-3.0.0/ruby/internal/core/rstring.h:44:27: note: expanded from macro 'RSTRING_LEN'
#define RSTRING_LEN RSTRING_LEN
^
backend_libev.c:488:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
return INT2NUM(len);
~~~~~~~ ^~~
backend_libev.c:563:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
return INT2NUM(total_written);
~~~~~~~ ^~~~~~~~~~~~~
backend_libev.c:780:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
return INT2NUM(len);
~~~~~~~ ^~~
backend_libev.c:985:22: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
total = left = n;
~ ^
backend_libev.c:1064:16: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
left = n;
~ ^
backend_libev.c:1367:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
int len = RSTRING_LEN(str);
~~~ ^~~~~~~~~~~~~~~~
/usr/local/var/rbenv/versions/3.0.2/include/ruby-3.0.0/ruby/internal/core/rstring.h:44:27: note: expanded from macro 'RSTRING_LEN'
#define RSTRING_LEN RSTRING_LEN
^
backend_libev.c:1432:19: error: implicit declaration of function 'splice' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
chunk_len = splice(src_fptr->fd, 0, pipefd[1], 0, maxlen, 0);
^
backend_libev.c:1458:15: error: implicit declaration of function 'splice' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int n = splice(pipefd[0], 0, dest_fptr->fd, 0, left, 0);
^
7 warnings and 2 errors generated.
make: *** [backend_libev.o] Error 1
make failed, exit code 2