[DRE-maint] Bug#996233: ruby-gd: FTBFS with ruby3.0: error: assignment of read-only member ‘klass’

Antonio Terceiro terceiro at debian.org
Tue Oct 12 13:21:33 BST 2021


Source: ruby-gd
Version: 0.8.0-7
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: debian-ruby at lists.debian.org
Usertags: ruby3.0

Hi,

We are about to enable building against ruby3.0 on unstable. During a test
rebuild, ruby-gd was found to fail to build in that situation.

To reproduce this locally, you need to install ruby-all-dev from experimental
on an unstable system or build chroot.

Relevant part (hopefully):
> ┌──────────────────────────────────────────────────────────────────────────────┐
> │ Build native extensions for ruby3.0                                          │
> └──────────────────────────────────────────────────────────────────────────────┘
> 
> /usr/bin/ruby3.0 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /<<PKGBUILDDIR>> debian/ruby-gd
> "make clean"
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> "make clean"
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> current directory: /<<PKGBUILDDIR>>
> ["/usr/bin/ruby3.0", "-I", "/usr/lib/ruby/vendor_ruby", "-r", "./siteconf20211004-3132885-1cqqoz.rb", "extconf.rb"]
> checking for ruby/io.h... yes
> checking for rb_io_t in ruby.h,rubyio.h... no
> checking for -ljpeg... yes
> checking for -lttf... no
> checking for -lX11... yes
> checking for -lXpm... yes
> checking for -lfreetype... yes
> checking for -lz... yes
> checking for -lpng... yes
> checking for gdImagePng() in -lgd... yes
> checking for -lm... yes
> checking for gdImageStringTTF()... yes
> checking for gdImageColorResolve()... yes
> checking for gdImageCreateFromXpm()... yes
> checking for gdImageCreateFromJpeg()... yes
> checking for gdImageStringFT()... yes
> checking for gdImageAlphaBlending()... yes
> creating Makefile
> current directory: /<<PKGBUILDDIR>>
> ["make", "V=1", "CC=gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "CXX=g++ -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "DESTDIR=", "clean"]
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> rm -f 
> rm -f GD.so  *.o  *.bak mkmf.log .*.time
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> current directory: /<<PKGBUILDDIR>>
> ["make", "V=1", "CC=gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "CXX=g++ -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "DESTDIR="]
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -I. -I/usr/include/x86_64-linux-gnu/ruby-3.0.0 -I/usr/include/ruby-3.0.0/ruby/backward -I/usr/include/ruby-3.0.0 -I. -DHAVE_RUBY_IO_H -DHAVE_GDIMAGESTRINGTTF -DHAVE_GDIMAGECOLORRESOLVE -DHAVE_GDIMAGECREATEFROMXPM -DHAVE_GDIMAGECREATEFROMJPEG -DHAVE_GDIMAGESTRINGFT -DHAVE_GDIMAGEALPHABLENDING -I/usr/X11R6/include -I/usr/local/include -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -ffile-prefix-map=/build/ruby3.0-2KsnwC/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DENABLE_GD_2_0  -o GD.o -c GD.c
> GD.c: In function ‘img_polygon’:
> GD.c:1021:22: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1021 |     len = RARRAY_LEN(ply)/2;
>       |                      ^~~
>       |                      |
>       |                      struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1024:32: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1024 |  pnt[i].x = NUM2INT(RARRAY_PTR(ply)[i*2]);
>       |                                ^~~
>       |                                |
>       |                                struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1025:32: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1025 |  pnt[i].y = NUM2INT(RARRAY_PTR(ply)[i*2+1]);
>       |                                ^~~
>       |                                |
>       |                                struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c: In function ‘img_filled_polygon’:
> GD.c:1046:22: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1046 |     len = RARRAY_LEN(ply)/2;
>       |                      ^~~
>       |                      |
>       |                      struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1049:32: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1049 |  pnt[i].x = NUM2INT(RARRAY_PTR(ply)[i*2]);
>       |                                ^~~
>       |                                |
>       |                                struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1050:32: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1050 |  pnt[i].y = NUM2INT(RARRAY_PTR(ply)[i*2+1]);
>       |                                ^~~
>       |                                |
>       |                                struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c: In function ‘ply_new’:
> GD.c:1725:25: error: assignment of read-only member ‘klass’
>  1725 |     RBASIC(self)->klass = klass;
>       |                         ^
> GD.c: In function ‘ply_vertices’:
> GD.c:1817:40: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1817 |     VALUE ary = rb_ary_new2(RARRAY_LEN(ply)/2);
>       |                                        ^~~
>       |                                        |
>       |                                        struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1819:30: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1819 |     for (i = 0; i<RARRAY_LEN(ply); i+=2) {
>       |                              ^~~
>       |                              |
>       |                              struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1820:43: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1820 |  rb_ary_push(ary, rb_assoc_new(RARRAY_PTR(ply)[i], RARRAY_PTR(ply)[i+1]));
>       |                                           ^~~
>       |                                           |
>       |                                           struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1820:63: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1820 |  rb_ary_push(ary, rb_assoc_new(RARRAY_PTR(ply)[i], RARRAY_PTR(ply)[i+1]));
>       |                                                               ^~~
>       |                                                               |
>       |                                                               struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c: In function ‘ply_bounds’:
> GD.c:1832:20: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1832 |     if (RARRAY_LEN(ply) == 0) {
>       |                    ^~~
>       |                    |
>       |                    struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1836:29: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1836 |  l = r = NUM2INT(RARRAY_PTR(ply)[0]);
>       |                             ^~~
>       |                             |
>       |                             struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1837:29: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1837 |  t = b = NUM2INT(RARRAY_PTR(ply)[1]);
>       |                             ^~~
>       |                             |
>       |                             struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1839:30: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1839 |     for (i = 2; i<RARRAY_LEN(ply); i+=2) {
>       |                              ^~~
>       |                              |
>       |                              struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1840:26: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1840 |  nx = NUM2INT(RARRAY_PTR(ply)[i]);
>       |                          ^~~
>       |                          |
>       |                          struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1843:26: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1843 |  ny = NUM2INT(RARRAY_PTR(ply)[i+1]);
>       |                          ^~~
>       |                          |
>       |                          struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c: In function ‘ply_offset’:
> GD.c:1860:30: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1860 |     for (i = 0; i<RARRAY_LEN(ply); i+=2) {
>       |                              ^~~
>       |                              |
>       |                              struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1861:25: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1861 |  c = NUM2INT(RARRAY_PTR(ply)[i]) + x;
>       |                         ^~~
>       |                         |
>       |                         struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1862:13: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1862 |  RARRAY_PTR(ply)[i] = INT2FIX(c);
>       |             ^~~
>       |             |
>       |             struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1863:25: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1863 |  c = NUM2INT(RARRAY_PTR(ply)[i+1]) + y;
>       |                         ^~~
>       |                         |
>       |                         struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1864:13: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1864 |  RARRAY_PTR(ply)[i+1] = INT2FIX(c);
>       |             ^~~
>       |             |
>       |             struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c: In function ‘ply_map’:
> GD.c:1887:17: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1887 |  if (RARRAY_LEN(ply) == 0) {
>       |                 ^~~
>       |                 |
>       |                 struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1891:33: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1891 |      l = r = NUM2INT(RARRAY_PTR(ply)[0]);
>       |                                 ^~~
>       |                                 |
>       |                                 struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1892:33: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1892 |      t = b = NUM2INT(RARRAY_PTR(ply)[1]);
>       |                                 ^~~
>       |                                 |
>       |                                 struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1894:27: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1894 |  for (i = 2; i<RARRAY_LEN(ply); i+=2) {
>       |                           ^~~
>       |                           |
>       |                           struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1895:30: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1895 |      nx = NUM2INT(RARRAY_PTR(ply)[i]);
>       |                              ^~~
>       |                              |
>       |                              struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1898:30: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1898 |      ny = NUM2INT(RARRAY_PTR(ply)[i+1]);
>       |                              ^~~
>       |                              |
>       |                              struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1923:30: warning: passing argument 1 of ‘rb_array_len’ makes integer from pointer without a cast [-Wint-conversion]
>  1923 |     for (i = 0; i<RARRAY_LEN(ply); i+=2) {
>       |                              ^~~
>       |                              |
>       |                              struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:131:20: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   131 | rb_array_len(VALUE a)
>       |              ~~~~~~^
> GD.c:1924:25: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1924 |  c = NUM2INT(RARRAY_PTR(ply)[i]);
>       |                         ^~~
>       |                         |
>       |                         struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1926:13: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1926 |  RARRAY_PTR(ply)[i] = INT2FIX(c);
>       |             ^~~
>       |             |
>       |             struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1928:25: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1928 |  c = NUM2INT(RARRAY_PTR(ply)[i+1]);
>       |                         ^~~
>       |                         |
>       |                         struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c:1930:13: warning: passing argument 1 of ‘RARRAY_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1930 |  RARRAY_PTR(ply)[i+1] = INT2FIX(c);
>       |             ^~~
>       |             |
>       |             struct RArray *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/core.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:26,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rarray.h:244:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RArray *’
>   244 | RARRAY_PTR(VALUE ary)
>       |            ~~~~~~^~~
> GD.c: In function ‘fnt_s_new’:
> GD.c:1996:16: warning: passing argument 1 of ‘Check_Type’ makes integer from pointer without a cast [-Wint-conversion]
>  1996 |     Check_Type(name, T_STRING);
>       |                ^~~~
>       |                |
>       |                struct RString *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/fl_type.h:35,
>                  from /usr/include/ruby-3.0.0/ruby/internal/core/rstring.h:30,
>                  from /usr/include/ruby-3.0.0/ruby/internal/arithmetic/char.h:29,
>                  from /usr/include/ruby-3.0.0/ruby/internal/arithmetic.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:25,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/value_type.h:329:18: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RString *’
>   329 | Check_Type(VALUE v, enum ruby_value_type t)
>       |            ~~~~~~^
> GD.c:1997:32: warning: passing argument 1 of ‘RSTRING_PTR’ makes integer from pointer without a cast [-Wint-conversion]
>  1997 |     return fnt_new(RSTRING_PTR(name));
>       |                                ^~~~
>       |                                |
>       |                                struct RString *
> In file included from /usr/include/ruby-3.0.0/ruby/internal/arithmetic/char.h:29,
>                  from /usr/include/ruby-3.0.0/ruby/internal/arithmetic.h:23,
>                  from /usr/include/ruby-3.0.0/ruby/ruby.h:25,
>                  from /usr/include/ruby-3.0.0/ruby.h:38,
>                  from GD.c:12:
> /usr/include/ruby-3.0.0/ruby/internal/core/rstring.h:151:19: note: expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type ‘struct RString *’
>   151 | RSTRING_PTR(VALUE str)
>       |             ~~~~~~^~~
> make[1]: *** [Makefile:245: GD.o] Error 1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'


The full build log is available at
https://people.debian.org/~kanashiro/ruby3.0/round2/builds/3/ruby-gd/ruby-gd_0.8.0-7+rebuild1633380660_amd64.build.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20211012/4de6a051/attachment-0001.sig>


More information about the Pkg-ruby-extras-maintainers mailing list