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

cool.io is no longer buildable on Ruby 3.3.0-dev #77

Closed
ashie opened this issue Jun 15, 2023 · 0 comments · Fixed by #79
Closed

cool.io is no longer buildable on Ruby 3.3.0-dev #77

ashie opened this issue Jun 15, 2023 · 0 comments · Fixed by #79
Milestone

Comments

@ashie
Copy link

ashie commented Jun 15, 2023

cool.io is no longer buildable on recent Ruby 3.3.0-dev.

We'll write a patch later.
Here is just for our note:

refs:

The error we got:
https://github.com/fluent/fluentd/actions/runs/5116211066/jobs/9540155372

2023-06-15T05:15:09.2576071Z compiling cool.io_ext.c
2023-06-15T05:15:09.2576325Z In file included from cool.io_ext.c:11:
2023-06-15T05:15:09.2576749Z cool.io.h:21:6: warning: "HAVE_RB_IO_T" is not defined, evaluates to 0 [-Wundef]
2023-06-15T05:15:09.2577109Z 21 | #if !HAVE_RB_IO_T || (RUBY_VERSION_MAJOR == 1 && RUBY_VERSION_MINOR ==
2023-06-15T05:15:09.2577371Z 8)
2023-06-15T05:15:09.2577569Z       |      ^~~~~~~~~~~~
2023-06-15T05:15:09.2578462Z cool.io_ext.c: In function ‘Init_cool’:
2023-06-15T05:15:09.2578866Z cool.io_ext.c:16:6: warning: old-style function definition
2023-06-15T05:15:09.2579199Z [-Wold-style-definition]
2023-06-15T05:15:09.2579431Z    16 | void Init_cool()
2023-06-15T05:15:09.2579643Z       |      ^~~~~~~~~
2023-06-15T05:15:09.2579853Z At top level:
2023-06-15T05:15:09.2580367Z cool.io_ext.c:13:14: warning: ‘mCoolio’ defined but not used [-Wunused-variable]
2023-06-15T05:15:09.2580681Z    13 | static VALUE mCoolio = Qnil;
2023-06-15T05:15:09.2580948Z       |              ^~~~~~~
2023-06-15T05:15:09.2581397Z cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been
2023-06-15T05:15:09.2581736Z intended to silence earlier diagnostics
2023-06-15T05:15:09.2582205Z cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have
2023-06-15T05:15:09.2582582Z been intended to silence earlier diagnostics
2023-06-15T05:15:09.2583375Z cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may
2023-06-15T05:15:09.2583904Z have been intended to silence earlier diagnostics
2023-06-15T05:15:09.2584184Z compiling iowatcher.c
2023-06-15T05:15:09.2584428Z In file included from iowatcher.c:16:
2023-06-15T05:15:09.2584857Z cool.io.h:21:6: warning: "HAVE_RB_IO_T" is not defined, evaluates to 0 [-Wundef]
2023-06-15T05:15:09.2585232Z 21 | #if !HAVE_RB_IO_T || (RUBY_VERSION_MAJOR == 1 && RUBY_VERSION_MINOR ==
2023-06-15T05:15:09.2585496Z 8)
2023-06-15T05:15:09.2585669Z       |      ^~~~~~~~~~~~
2023-06-15T05:15:09.2585997Z iowatcher.c: In function ‘Init_coolio_iowatcher’:
2023-06-15T05:15:09.2586390Z iowatcher.c:40:6: warning: old-style function definition
2023-06-15T05:15:09.2586706Z [-Wold-style-definition]
2023-06-15T05:15:09.2586966Z    40 | void Init_coolio_iowatcher()
2023-06-15T05:15:09.2587204Z       |      ^~~~~~~~~~~~~~~~~~~~~
2023-06-15T05:15:09.2587536Z iowatcher.c: In function ‘Coolio_IOWatcher_initialize’:
2023-06-15T05:15:09.2587923Z iowatcher.c:68:5: warning: "HAVE_RB_IO_T" is not defined, evaluates to 0
2023-06-15T05:15:09.2588223Z [-Wundef]
2023-06-15T05:15:09.2588414Z    68 | #if HAVE_RB_IO_T
2023-06-15T05:15:09.2588622Z       |     ^~~~~~~~~~~~
2023-06-15T05:15:09.2588988Z iowatcher.c:71:3: error: unknown type name ‘OpenFile’; did you mean
2023-06-15T05:15:09.2589292Z ‘GetOpenFile’?
2023-06-15T05:15:09.2589519Z    71 |   OpenFile *fptr;
2023-06-15T05:15:09.2589730Z       |   ^~~~~~~~
2023-06-15T05:15:09.2589922Z       |   GetOpenFile
2023-06-15T05:15:09.2590324Z iowatcher.c:79:15: warning: assignment discards ‘const’ qualifier from pointer
2023-06-15T05:15:09.2590725Z target type [-Wdiscarded-qualifiers]
2023-06-15T05:15:09.2590988Z    79 |     flags_str = "r";
2023-06-15T05:15:09.2591185Z       |               ^
2023-06-15T05:15:09.2591423Z In file included from iowatcher.c:9:
2023-06-15T05:15:09.2591838Z /home/runner/.rubies/ruby-head/include/ruby-3.3.0+0/ruby/io.h:395:55: warning:
2023-06-15T05:15:09.2592294Z assignment to ‘int *’ from incompatible pointer type ‘struct rb_io *’
2023-06-15T05:15:09.2592696Z [-Wincompatible-pointer-types]
2023-06-15T05:15:09.2593025Z 395 | #define RB_IO_POINTER(obj,fp) rb_io_check_closed((fp) =
2023-06-15T05:15:09.2593357Z RFILE(rb_io_taint_check(obj))->fptr)
2023-06-15T05:15:09.2593621Z       |                                                       ^
2023-06-15T05:15:09.2594019Z /home/runner/.rubies/ruby-head/include/ruby-3.3.0+0/ruby/io.h:401:21: note: in
2023-06-15T05:15:09.2594372Z expansion of macro ‘RB_IO_POINTER’
2023-06-15T05:15:09.2594652Z   401 | #define GetOpenFile RB_IO_POINTER
2023-06-15T05:15:09.2594904Z       |                     ^~~~~~~~~~~~~
2023-06-15T05:15:09.2595260Z iowatcher.c:91:3: note: in expansion of macro ‘GetOpenFile’
2023-06-15T05:15:09.2595599Z    91 |   GetOpenFile(rb_convert_type(io, T_FILE, "IO", "to_io"), fptr);
2023-06-15T05:15:09.2596399Z       |   ^~~~~~~~~~~
2023-06-15T05:15:09.2596797Z /home/runner/.rubies/ruby-head/include/ruby-3.3.0+0/ruby/io.h:395:55: warning:
2023-06-15T05:15:09.2597284Z passing argument 1 of ‘rb_io_check_closed’ from incompatible pointer type
2023-06-15T05:15:09.2597682Z [-Wincompatible-pointer-types]
2023-06-15T05:15:09.2598014Z 395 | #define RB_IO_POINTER(obj,fp) rb_io_check_closed((fp) =
2023-06-15T05:15:09.2598348Z RFILE(rb_io_taint_check(obj))->fptr)
2023-06-15T05:15:09.2598607Z |                                                 
2023-06-15T05:15:09.2598842Z ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-06-15T05:15:09.2599072Z       |                                                       |
2023-06-15T05:15:09.2599333Z       |                                                       int *
2023-06-15T05:15:09.2599744Z /home/runner/.rubies/ruby-head/include/ruby-3.3.0+0/ruby/io.h:401:21: note: in
2023-06-15T05:15:09.2600117Z expansion of macro ‘RB_IO_POINTER’
2023-06-15T05:15:09.2600383Z   401 | #define GetOpenFile RB_IO_POINTER
2023-06-15T05:15:09.2600636Z       |                     ^~~~~~~~~~~~~
2023-06-15T05:15:09.2601182Z iowatcher.c:91:3: note: in expansion of macro ‘GetOpenFile’
2023-06-15T05:15:09.2601648Z    91 |   GetOpenFile(rb_convert_type(io, T_FILE, "IO", "to_io"), fptr);
2023-06-15T05:15:09.2601929Z       |   ^~~~~~~~~~~
2023-06-15T05:15:09.2602315Z /home/runner/.rubies/ruby-head/include/ruby-3.3.0+0/ruby/io.h:638:34: note:
2023-06-15T05:15:09.2602753Z expected ‘rb_io_t *’ {aka ‘struct rb_io *’} but argument is of type ‘int *’
2023-06-15T05:15:09.2603086Z   638 | void rb_io_check_closed(rb_io_t *fptr);
2023-06-15T05:15:09.2603349Z       |                         ~~~~~~~~~^~~~
2023-06-15T05:15:09.2603587Z In file included from ev_wrap.h:9,
2023-06-15T05:15:09.2603847Z                  from iowatcher.c:14:
2023-06-15T05:15:09.2604259Z ../libev/ev.h:687:4: warning: dereferencing type-punned pointer will break
2023-06-15T05:15:09.2604659Z strict-aliasing rules [-Wstrict-aliasing]
2023-06-15T05:15:09.2605021Z   687 |   ((ev_watcher *)(void *)(ev))->active  =       \
2023-06-15T05:15:09.2605274Z       |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-06-15T05:15:09.2605643Z ../libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
2023-06-15T05:15:09.2605975Z 707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb));
2023-06-15T05:15:09.2606287Z ev_io_set ((ev),(fd),(events)); } while (0)
2023-06-15T05:15:09.2606556Z       |                                                   ^~~~~~~
2023-06-15T05:15:09.2606910Z iowatcher.c:94:3: note: in expansion of macro ‘ev_io_init’
2023-06-15T05:15:09.2607296Z 94 |   ev_io_init(&watcher_data->event_types.ev_io,
2023-06-15T05:15:09.2607626Z Coolio_IOWatcher_libev_callback, FPTR_TO_FD(fptr), events);
2023-06-15T05:15:09.2607896Z       |   ^~~~~~~~~~
2023-06-15T05:15:09.2608268Z ../libev/ev.h:688:4: warning: dereferencing type-punned pointer will break
2023-06-15T05:15:09.2608676Z strict-aliasing rules [-Wstrict-aliasing]
2023-06-15T05:15:09.2609052Z   688 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
2023-06-15T05:15:09.2609293Z       |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-06-15T05:15:09.2609646Z ../libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
2023-06-15T05:15:09.2609997Z 707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb));
2023-06-15T05:15:09.2610292Z ev_io_set ((ev),(fd),(events)); } while (0)
2023-06-15T05:15:09.2610553Z       |                                                   ^~~~~~~
2023-06-15T05:15:09.2610919Z iowatcher.c:94:3: note: in expansion of macro ‘ev_io_init’
2023-06-15T05:15:09.2611284Z 94 |   ev_io_init(&watcher_data->event_types.ev_io,
2023-06-15T05:15:09.2611612Z Coolio_IOWatcher_libev_callback, FPTR_TO_FD(fptr), events);
2023-06-15T05:15:09.2611874Z       |   ^~~~~~~~~~
2023-06-15T05:15:09.2612257Z ../libev/ev.h:732:50: warning: dereferencing type-punned pointer will break
2023-06-15T05:15:09.2612637Z strict-aliasing rules [-Wstrict-aliasing]
2023-06-15T05:15:09.2612977Z 732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void
2023-06-15T05:15:09.2613300Z *)(ev))->priority = (pri)
2023-06-15T05:15:09.2613564Z |                                             
2023-06-15T05:15:09.2613788Z ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-06-15T05:15:09.2614148Z ../libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
2023-06-15T05:15:09.2614451Z   689 |   ev_set_priority ((ev), 0);                    \
2023-06-15T05:15:09.2614691Z       |   ^~~~~~~~~~~~~~~
2023-06-15T05:15:09.2615067Z ../libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
2023-06-15T05:15:09.2615391Z 707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb));
2023-06-15T05:15:09.2615702Z ev_io_set ((ev),(fd),(events)); } while (0)
2023-06-15T05:15:09.2615965Z       |                                                   ^~~~~~~
2023-06-15T05:15:09.2616329Z iowatcher.c:94:3: note: in expansion of macro ‘ev_io_init’
2023-06-15T05:15:09.2616695Z 94 |   ev_io_init(&watcher_data->event_types.ev_io,
2023-06-15T05:15:09.2617025Z Coolio_IOWatcher_libev_callback, FPTR_TO_FD(fptr), events);
2023-06-15T05:15:09.2617291Z       |   ^~~~~~~~~~
2023-06-15T05:15:09.2617910Z ../libev/ev.h:738:79: warning: dereferencing type-punned pointer will break
2023-06-15T05:15:09.2618317Z strict-aliasing rules [-Wstrict-aliasing]
2023-06-15T05:15:09.2618637Z 738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_),
2023-06-15T05:15:09.2619028Z memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
2023-06-15T05:15:09.2619338Z |                                                                         
2023-06-15T05:15:09.2619565Z ~^~~~~~~~~~~~~~~~~~~
2023-06-15T05:15:09.2619890Z ../libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
2023-06-15T05:15:09.2620188Z   690 |   ev_set_cb ((ev), cb_);                        \
2023-06-15T05:15:09.2620420Z       |   ^~~~~~~~~
2023-06-15T05:15:09.2620753Z ../libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
2023-06-15T05:15:09.2621077Z 707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb));
2023-06-15T05:15:09.2621387Z ev_io_set ((ev),(fd),(events)); } while (0)
2023-06-15T05:15:09.2621674Z       |                                                   ^~~~~~~
2023-06-15T05:15:09.2622026Z iowatcher.c:94:3: note: in expansion of macro ‘ev_io_init’
2023-06-15T05:15:09.2622402Z 94 |   ev_io_init(&watcher_data->event_types.ev_io,
2023-06-15T05:15:09.2622726Z Coolio_IOWatcher_libev_callback, FPTR_TO_FD(fptr), events);
2023-06-15T05:15:09.2622978Z       |   ^~~~~~~~~~
2023-06-15T05:15:09.2623361Z cool.io.h:22:37: error: request for member ‘f’ in something not a structure or
2023-06-15T05:15:09.2623648Z union
2023-06-15T05:15:09.2623933Z    22 | #define FPTR_TO_FD(fptr) fileno(fptr->f)
2023-06-15T05:15:09.2624194Z       |                                     ^~
2023-06-15T05:15:09.2624545Z ../libev/ev.h:693:63: note: in definition of macro ‘ev_io_set’
2023-06-15T05:15:09.2624949Z 693 | #define ev_io_set(ev,fd_,events_)            do { (ev)->fd = (fd_);
2023-06-15T05:15:09.2625308Z (ev)->events = (events_) | EV__IOFDSET; } while (0)
2023-06-15T05:15:09.2625588Z       |                                                               ^~~
2023-06-15T05:15:09.2625967Z iowatcher.c:94:3: note: in expansion of macro ‘ev_io_init’
2023-06-15T05:15:09.2626329Z 94 |   ev_io_init(&watcher_data->event_types.ev_io,
2023-06-15T05:15:09.2626654Z Coolio_IOWatcher_libev_callback, FPTR_TO_FD(fptr), events);
2023-06-15T05:15:09.2626917Z       |   ^~~~~~~~~~
2023-06-15T05:15:09.2627244Z iowatcher.c:94:81: note: in expansion of macro ‘FPTR_TO_FD’
2023-06-15T05:15:09.2627619Z 94 |   ev_io_init(&watcher_data->event_types.ev_io,
2023-06-15T05:15:09.2627943Z Coolio_IOWatcher_libev_callback, FPTR_TO_FD(fptr), events);
2023-06-15T05:15:09.2628243Z |                                                                         
2023-06-15T05:15:09.2628454Z ^~~~~~~~~~
2023-06-15T05:15:09.2628673Z iowatcher.c: At top level:
2023-06-15T05:15:09.2629095Z cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been
2023-06-15T05:15:09.2629432Z intended to silence earlier diagnostics
2023-06-15T05:15:09.2629918Z cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have
2023-06-15T05:15:09.2630298Z been intended to silence earlier diagnostics
2023-06-15T05:15:09.2630753Z cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may
2023-06-15T05:15:09.2631140Z have been intended to silence earlier diagnostics
2023-06-15T05:15:09.2631441Z make: *** [Makefile:248: iowatcher.o] Error 1
2023-06-15T05:15:09.2631610Z 
2023-06-15T05:15:09.2631694Z make failed, exit code 2
k0kubun added a commit to k0kubun/cool.io that referenced this issue Jul 26, 2023
ioquatix pushed a commit to k0kubun/cool.io that referenced this issue Aug 2, 2023
ioquatix pushed a commit to k0kubun/cool.io that referenced this issue Aug 2, 2023
ioquatix pushed a commit to k0kubun/cool.io that referenced this issue Aug 2, 2023
@ioquatix ioquatix added this to the v1.8.0 milestone Aug 3, 2023
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

Successfully merging a pull request may close this issue.

2 participants