Package doesn't rebuild against ruby 3.2
The following error occurs when trying to rebuild this package with ruby 3.2 against staging.
==> Starting package()...
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/.gitignore
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/.travis.yml
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/BSDL
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/Gemfile
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/LICENSE.txt
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/README.md
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/Rakefile
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv/charset_alias.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv/extconf.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv/iconv.c
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv/mkwrapper.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/iconv.gemspec
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/lib/iconv.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/lib/iconv/version.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/test/test_basic.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/test/test_option.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/test/test_partial.rb
/build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/test/utils.rb
Building native extensions. This could take a while...
current directory: /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv
["/usr/bin/ruby", "extconf.rb"]
checking for rb_enc_get() in ruby/encoding.h... yes
checking for rb_sys_fail_str() in ruby.h... yes
checking for iconv() in iconv.h... yes
checking signedness of size_t... unsigned
checking for const of iconv() 2nd argument... no
checking for iconvlist() in iconv.h... no
checking for __iconv_free_list() in iconv.h... no
creating Makefile
current directory: /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv
["make", "DESTDIR=", "sitearchdir=./.gem.20240607-1873-1wtfa1", "sitelibdir=./.gem.20240607-1873-1wtfa1", "clean"]
current directory: /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv
["make", "DESTDIR=", "sitearchdir=./.gem.20240607-1873-1wtfa1", "sitelibdir=./.gem.20240607-1873-1wtfa1"]
ERROR: Error installing iconv-1.0.8.gem:
ERROR: Failed to build gem native extension.
current directory: /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv
/usr/bin/ruby extconf.rb
current directory: /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv
make DESTDIR\= sitearchdir\=./.gem.20240607-1873-1wtfa1 sitelibdir\=./.gem.20240607-1873-1wtfa1 clean
current directory: /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8/ext/iconv
make DESTDIR\= sitearchdir\=./.gem.20240607-1873-1wtfa1 sitelibdir\=./.gem.20240607-1873-1wtfa1
Building has failed. See above output for more information on the failure.
make failed, exit code 2
Gem files will remain installed in /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/gems/iconv-1.0.8 for inspection.
Results logged to /build/ruby-iconv/pkg/ruby-iconv/usr/lib/ruby/gems/3.2.0/extensions/x86_64-linux/3.2.0/iconv-1.0.8/gem_make.out
compiling iconv.c
iconv.c: In function ‘rb_str_derive’:
iconv.c:486:5: warning: ‘RB_OBJ_INFECT’ is deprecated: taintedness turned out to be a wrong idea. [-Wdeprecated-declarations]
486 | OBJ_INFECT(ret, str);
| ^~~~~~~~~~
In file included from /usr/include/ruby-3.2.0/ruby/internal/core/rstring.h:30,
from /usr/include/ruby-3.2.0/ruby/internal/arithmetic/char.h:29,
from /usr/include/ruby-3.2.0/ruby/internal/arithmetic.h:24,
from /usr/include/ruby-3.2.0/ruby/ruby.h:28,
from /usr/include/ruby-3.2.0/ruby.h:38,
from iconv.c:16:
/usr/include/ruby-3.2.0/ruby/internal/fl_type.h:114:30: note: declared here
114 | #define RB_OBJ_INFECT RB_OBJ_INFECT
| ^~~~~~~~~~~~~
/usr/include/ruby-3.2.0/ruby/internal/fl_type.h:884:1: note: in expansion of macro ‘RB_OBJ_INFECT’
884 | RB_OBJ_INFECT(VALUE dst, VALUE src)
| ^~~~~~~~~~~~~
iconv.c: In function ‘iconv_convert’:
iconv.c:579:25: warning: ‘RB_OBJ_INFECT’ is deprecated: taintedness turned out to be a wrong idea. [-Wdeprecated-declarations]
579 | OBJ_INFECT(ret, str);
| ^~~~~~~~~~
/usr/include/ruby-3.2.0/ruby/internal/fl_type.h:114:30: note: declared here
114 | #define RB_OBJ_INFECT RB_OBJ_INFECT
| ^~~~~~~~~~~~~
/usr/include/ruby-3.2.0/ruby/internal/fl_type.h:884:1: note: in expansion of macro ‘RB_OBJ_INFECT’
884 | RB_OBJ_INFECT(VALUE dst, VALUE src)
| ^~~~~~~~~~~~~
iconv.c: In function ‘get_iconv_opt’:
iconv.c:709:57: error: passing argument 5 of ‘rb_block_call’ from incompatible pointer type [-Wincompatible-pointer-types]
709 | rb_block_call(options, rb_intern("each"), 0, 0, get_iconv_opt_i, (VALUE)opt);
| ^~~~~~~~~~~~~~~
| |
| VALUE (*)(VALUE, VALUE) {aka long unsigned int (*)(long unsigned int, long unsigned int)}
In file included from /usr/include/ruby-3.2.0/ruby/ruby.h:41:
/usr/include/ruby-3.2.0/ruby/internal/iterator.h:324:90: note: expected ‘rb_block_call_func_t’ {aka ‘long unsigned int (*)(long unsigned int, long unsigned int, int, const long unsigned int *, long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE, VALUE)’ {aka ‘long unsigned int (*)(long unsigned int, long unsigned int)’}
324 | VALUE rb_block_call(VALUE obj, ID mid, int argc, const VALUE *argv, rb_block_call_func_t proc, VALUE data2);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
iconv.c: In function ‘iconv_s_iconv’:
iconv.c:837:22: error: passing argument 1 of ‘rb_ensure’ from incompatible pointer type [-Wincompatible-pointer-types]
837 | return rb_ensure(iconv_s_convert, (VALUE)&arg, iconv_free, ICONV2VALUE(arg.cd));
| ^~~~~~~~~~~~~~~
| |
| VALUE (*)(struct iconv_env_t *) {aka long unsigned int (*)(struct iconv_env_t *)}
/usr/include/ruby-3.2.0/ruby/internal/iterator.h:425:25: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(struct iconv_env_t *)’ {aka ‘long unsigned int (*)(struct iconv_env_t *)’}
425 | VALUE rb_ensure(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*e_proc)(VALUE), VALUE data2);
| ~~~~~~~~^~~~~~~~~~~~~~
iconv.c: In function ‘iconv_s_conv’:
iconv.c:858:22: error: passing argument 1 of ‘rb_ensure’ from incompatible pointer type [-Wincompatible-pointer-types]
858 | return rb_ensure(iconv_s_convert, (VALUE)&arg, iconv_free, ICONV2VALUE(arg.cd));
| ^~~~~~~~~~~~~~~
| |
| VALUE (*)(struct iconv_env_t *) {aka long unsigned int (*)(struct iconv_env_t *)}
/usr/include/ruby-3.2.0/ruby/internal/iterator.h:425:25: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(struct iconv_env_t *)’ {aka ‘long unsigned int (*)(struct iconv_env_t *)’}
425 | VALUE rb_ensure(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*e_proc)(VALUE), VALUE data2);
| ~~~~~~~~^~~~~~~~~~~~~~
In file included from /usr/include/ruby-3.2.0/ruby/ruby.h:27:
iconv.c: In function ‘Init_iconv’:
/usr/include/ruby-3.2.0/ruby/internal/anyargs.h:308:143: error: passing argument 3 of ‘rb_define_singleton_method_00’ from incompatible pointer type [-Wincompatible-pointer-types]
308 | #define rb_define_singleton_method(obj, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_singleton_method((arity), (func))((obj), (mid), (func), (arity))
| ^~~~~~
| |
| VALUE (*)(void) {aka long unsigned int (*)(void)}
iconv.c:1330:5: note: in expansion of macro ‘rb_define_singleton_method’
1330 | rb_define_singleton_method(rb_cIconv, "charset_map", charset_map_get, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.2.0/ruby/internal/anyargs.h:271:21: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(void)’ {aka ‘long unsigned int (*)(void)’}
271 | RBIMPL_ANYARGS_DECL(rb_define_singleton_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.2.0/ruby/internal/anyargs.h:255:41: note: in definition of macro ‘RBIMPL_ANYARGS_DECL’
255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _00(__VA_ARGS__, VALUE(*)(VALUE), int); \
| ^~~
make: *** [Makefile:248: iconv.o] Error 1
GET https://rubygems.org/latest_specs.4.8.gz
200 OK
GET https://rubygems.org/quick/Marshal.4.8/rubygems-update-3.5.11.gemspec.rz
200 OK
A new release of RubyGems is available: 3.4.19 → 3.5.11!
Run `gem update --system 3.5.11` to update your installation.
==> ERROR: A failure occurred in package().