Skip to content

Windows . new version 0.8.0 don't install on ruby less than 3.4 #96

@net1957

Description

@net1957

with ruby 3.1.7, 3.2.8, 3.3.8 the gem fail to compile on windows with latest version of ruby installer. All mingw packages are a the latest version.
On ruby 3.4.4 it install correctly.

logs:
`current directory: D:/program/Ruby/Ruby33-x64/lib/ruby/gems/3.3.0/gems/websocket-driver-0.8.0/ext/websocket-driver
D:/program/Ruby/Ruby33-x64/bin/ruby.exe extconf.rb
creating Makefile

current directory: D:/program/Ruby/Ruby33-x64/lib/ruby/gems/3.3.0/gems/websocket-driver-0.8.0/ext/websocket-driver
make DESTDIR= sitearchdir=./.gem.20250525-11528-y6pu5x sitelibdir=./.gem.20250525-11528-y6pu5x clean

current directory: D:/program/Ruby/Ruby33-x64/lib/ruby/gems/3.3.0/gems/websocket-driver-0.8.0/ext/websocket-driver
make DESTDIR= sitearchdir=./.gem.20250525-11528-y6pu5x sitelibdir=./.gem.20250525-11528-y6pu5x
generating websocket_mask-x64-mingw-ucrt.def
compiling websocket_mask.c
websocket_mask.c: In function 'Init_websocket_mask':
websocket_mask.c:31:46: error: passing argument 3 of 'rb_define_singleton_method' from incompatible pointer type [-Wincompatible-pointer-types]
31 | rb_define_singleton_method(Mask, "mask", method_websocket_mask, 2);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| VALUE ()(VALUE, VALUE, VALUE) {aka long long unsigned int ()(long long unsigned int, long long unsigned int, long long unsigned int)}
In file included from D:/program/Ruby/Ruby33-x64/include/ruby-3.3.0/ruby/internal/anyargs.h:76,
from D:/program/Ruby/Ruby33-x64/include/ruby-3.3.0/ruby/ruby.h:27,
from D:/program/Ruby/Ruby33-x64/include/ruby-3.3.0/ruby.h:38,
from websocket_mask.c:1:
D:/program/Ruby/Ruby33-x64/include/ruby-3.3.0/ruby/internal/intern/class.h:365:68: note: expected 'VALUE ()(void)' {aka 'long long unsigned int ()(void)'} but argument is of type 'VALUE ()(VALUE, VALUE, VALUE)' {aka 'long long unsigned int ()(long long unsigned int, long long unsigned int, long long unsigned int)'}
365 | void rb_define_singleton_method(VALUE obj, const char *mid, VALUE(*func)(ANYARGS), int arity);
| ~~~~~~~^~~~~~~~~~~~~~
websocket_mask.c:3:7: note: 'method_websocket_mask' declared here
3 | VALUE method_websocket_mask(VALUE self, VALUE payload, VALUE mask)
| ^~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:248: websocket_mask.o] Error 1

make failed, exit code 2
`
Any idea?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions