[DRE-maint] Bug#889025: ruby-odbc: FTBFS with ruby2.5: invalid operands to binary / (have 'char *' and 'char *')

Antonio Terceiro terceiro at debian.org
Thu Feb 1 10:19:59 UTC 2018


Source: ruby-odbc
Severity: serious
Justification: Fails to build from source
User: debian-ruby at lists.debian.org
Usertags: ruby2.5

I am filing this at severity serious as I am about to enable building for
ruby2.5 in unstable.

┌──────────────────────────────────────────────────────────────────────────────┐
│ Build native extensions for ruby2.5                                          │
└──────────────────────────────────────────────────────────────────────────────┘

/usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /<<PKGBUILDDIR>> debian/ruby-odbc
"make clean"
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext'
"make clean"
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext'
current directory: /<<PKGBUILDDIR>>/ext
/usr/bin/ruby2.5 -r ./siteconf20180131-26647-1wcu0cw.rb extconf.rb
checking for version.h... no
checking for sql.h... yes
checking for sqlext.h... yes
checking for SQLTCHAR in sqltypes.h... yes
checking for SQLLEN in sqltypes.h... yes
checking for SQLULEN in sqltypes.h... yes
checking for odbcinst.h... yes
checking for dlopen() in dlfcn.h... yes
checking for dlopen() in -ldl... yes
checking for SQLBIGINT in sqltypes.h with -DHAVE_LONG_LONG... yes
creating Makefile
current directory: /<<PKGBUILDDIR>>/ext
make V=1 "DESTDIR=" clean
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext'
rm -f
rm -f odbc.so  *.o  *.bak mkmf.log .*.time
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext'
current directory: /<<PKGBUILDDIR>>/ext
make V=1 "DESTDIR="
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext'
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -DHAVE_SQL_H -DHAVE_SQLEXT_H -DHAVE_TYPE_SQLTCHAR -DHAVE_TYPE_SQLLEN -DHAVE_TYPE_SQLULEN -DHAVE_ODBCINST_H -DHAVE_DLOPEN -DHAVE_TYPE_SQLBIGINT -Wdate-time -D_FORTIFY_SOURCE=2   -DHAVE_SQLCONFIGDATASOURCE -DHAVE_SQLINSTALLERERROR -DUSE_DLOPEN_FOR_ODBC_LIBS -DHAVE_LONG_LONG -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC  -o init.o -c init.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -DHAVE_SQL_H -DHAVE_SQLEXT_H -DHAVE_TYPE_SQLTCHAR -DHAVE_TYPE_SQLLEN -DHAVE_TYPE_SQLULEN -DHAVE_ODBCINST_H -DHAVE_DLOPEN -DHAVE_TYPE_SQLBIGINT -Wdate-time -D_FORTIFY_SOURCE=2   -DHAVE_SQLCONFIGDATASOURCE -DHAVE_SQLINSTALLERERROR -DUSE_DLOPEN_FOR_ODBC_LIBS -DHAVE_LONG_LONG -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC  -o odbc.o -c odbc.c
odbc.c: In function 'start_gc':
odbc.c:913:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
     rb_funcall(rb_mGC, IDstart, 0, NULL);
     ^~~~~~~~~~
odbc.c:913:5: note: (near initialization for 'rb_funcall_args[0]')
odbc.c: In function 'conf_dsn':
odbc.c:1602:6: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  a = rb_funcall(attr, IDkeys, 0, NULL);
      ^~~~~~~~~~
odbc.c:1602:6: note: (near initialization for 'rb_funcall_args[0]')
odbc.c: In function 'dbc_drvconnect':
odbc.c:2107:6: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  a = rb_funcall(rb_iv_get(drv, "@attrs"), IDkeys, 0, NULL);
      ^~~~~~~~~~
odbc.c:2107:6: note: (near initialization for 'rb_funcall_args[0]')
In file included from /usr/include/ruby-2.5.0/ruby.h:33:0,
                 from odbc.c:21:
odbc.c: In function 'do_option':
odbc.c:4301:48: warning: pointer/integer type mismatch in conditional expression
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
                                                ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2190:52: note: in definition of macro 'rb_scan_args_isdigit'
 # define rb_scan_args_isdigit(c) ((unsigned char)((c)-'0')<10)
                                                    ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2228:14: note: in expansion of macro 'rb_scan_args_count'
     ((varc)/(rb_scan_args_count(fmt, varc)))
              ^~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2236:11: note: in expansion of macro 'rb_scan_args_verify_count'
  verify = rb_scan_args_verify_count(fmt, varc); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2351:9: note: in expansion of macro 'rb_scan_args_verify'
        (rb_scan_args_verify(fmt, varc), vars))
         ^~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2178:9: note: in expansion of macro 'rb_scan_args0'
         rb_scan_args0(argc,argvp,fmt,\
         ^~~~~~~~~~~~~
odbc.c:4301:5: note: in expansion of macro 'rb_scan_args'
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
     ^~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2190:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 # define rb_scan_args_isdigit(c) ((unsigned char)((c)-'0')<10)
                                   ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2221:8: note: in expansion of macro 'rb_scan_args_isdigit'
     ((!rb_scan_args_isdigit(fmt[0]) ? \
        ^~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2228:14: note: in expansion of macro 'rb_scan_args_count'
     ((varc)/(rb_scan_args_count(fmt, varc)))
              ^~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2236:11: note: in expansion of macro 'rb_scan_args_verify_count'
  verify = rb_scan_args_verify_count(fmt, varc); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2351:9: note: in expansion of macro 'rb_scan_args_verify'
        (rb_scan_args_verify(fmt, varc), vars))
         ^~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2178:9: note: in expansion of macro 'rb_scan_args0'
         rb_scan_args0(argc,argvp,fmt,\
         ^~~~~~~~~~~~~
odbc.c:4301:5: note: in expansion of macro 'rb_scan_args'
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
     ^~~~~~~~~~~~
odbc.c:4301:48: warning: pointer/integer type mismatch in conditional expression
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
                                                ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2190:52: note: in definition of macro 'rb_scan_args_isdigit'
 # define rb_scan_args_isdigit(c) ((unsigned char)((c)-'0')<10)
                                                    ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2212:6: note: in expansion of macro 'rb_scan_args_count_trail'
      rb_scan_args_count_trail(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2222:7: note: in expansion of macro 'rb_scan_args_count_var'
       rb_scan_args_count_var(fmt, 0, varc, 0) : \
       ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2228:14: note: in expansion of macro 'rb_scan_args_count'
     ((varc)/(rb_scan_args_count(fmt, varc)))
              ^~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2236:11: note: in expansion of macro 'rb_scan_args_verify_count'
  verify = rb_scan_args_verify_count(fmt, varc); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2351:9: note: in expansion of macro 'rb_scan_args_verify'
        (rb_scan_args_verify(fmt, varc), vars))
         ^~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2178:9: note: in expansion of macro 'rb_scan_args0'
         rb_scan_args0(argc,argvp,fmt,\
         ^~~~~~~~~~~~~
odbc.c:4301:5: note: in expansion of macro 'rb_scan_args'
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
     ^~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2190:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 # define rb_scan_args_isdigit(c) ((unsigned char)((c)-'0')<10)
                                   ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2206:7: note: in expansion of macro 'rb_scan_args_isdigit'
     (!rb_scan_args_isdigit(fmt[ofs]) ? \
       ^~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2212:6: note: in expansion of macro 'rb_scan_args_count_trail'
      rb_scan_args_count_trail(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2222:7: note: in expansion of macro 'rb_scan_args_count_var'
       rb_scan_args_count_var(fmt, 0, varc, 0) : \
       ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2228:14: note: in expansion of macro 'rb_scan_args_count'
     ((varc)/(rb_scan_args_count(fmt, varc)))
              ^~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2236:11: note: in expansion of macro 'rb_scan_args_verify_count'
  verify = rb_scan_args_verify_count(fmt, varc); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2351:9: note: in expansion of macro 'rb_scan_args_verify'
        (rb_scan_args_verify(fmt, varc), vars))
         ^~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2178:9: note: in expansion of macro 'rb_scan_args0'
         rb_scan_args0(argc,argvp,fmt,\
         ^~~~~~~~~~~~~
odbc.c:4301:5: note: in expansion of macro 'rb_scan_args'
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
     ^~~~~~~~~~~~
odbc.c:4301:48: warning: pointer/integer type mismatch in conditional expression
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
                                                ^
/usr/include/ruby-2.5.0/ruby/ruby.h:2193:15: note: in definition of macro 'rb_scan_args_count_end'
     ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
               ^~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2202:6: note: in expansion of macro 'rb_scan_args_count_block'
      rb_scan_args_count_block(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2207:6: note: in expansion of macro 'rb_scan_args_count_hash'
      rb_scan_args_count_hash(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2212:6: note: in expansion of macro 'rb_scan_args_count_trail'
      rb_scan_args_count_trail(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2222:7: note: in expansion of macro 'rb_scan_args_count_var'
       rb_scan_args_count_var(fmt, 0, varc, 0) : \
       ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2228:14: note: in expansion of macro 'rb_scan_args_count'
     ((varc)/(rb_scan_args_count(fmt, varc)))
              ^~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2236:11: note: in expansion of macro 'rb_scan_args_verify_count'
  verify = rb_scan_args_verify_count(fmt, varc); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2351:9: note: in expansion of macro 'rb_scan_args_verify'
        (rb_scan_args_verify(fmt, varc), vars))
         ^~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2178:9: note: in expansion of macro 'rb_scan_args0'
         rb_scan_args0(argc,argvp,fmt,\
         ^~~~~~~~~~~~~
odbc.c:4301:5: note: in expansion of macro 'rb_scan_args'
     rb_scan_args(argc, argv, (op == -1) ? "11" : "01", &val, &val2);
     ^~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2193:12: error: invalid operands to binary / (have 'int' and 'char *')
     ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2197:6: note: in expansion of macro 'rb_scan_args_count_end'
      rb_scan_args_count_end(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2202:6: note: in expansion of macro 'rb_scan_args_count_block'
      rb_scan_args_count_block(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2207:6: note: in expansion of macro 'rb_scan_args_count_hash'
      rb_scan_args_count_hash(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2212:6: note: in expansion of macro 'rb_scan_args_count_trail'
      rb_scan_args_count_trail(fmt, ofs, varc, vari) : \
      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2222:7: note: in expansion of macro 'rb_scan_args_count_var'
       rb_scan_args_count_var(fmt, 0, varc, 0) : \
       ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2228:14: note: in expansion of macro 'rb_scan_args_count'
     ((varc)/(rb_scan_args_count(fmt, varc)))
              ^~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2236:11: note: in expansion of macro 'rb_scan_args_verify_count'
  verify = rb_scan_args_verify_count(fmt, varc); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2351:9: note: in expansion of macro 'rb_scan_args_verify'
        (rb_scan_args_verify(fmt, varc), vars))
         ^~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.5.0/ruby/ruby.h:2178:9: note: in expansion of macro 'rb_scan_args0'
         rb_scan_args0(argc,argvp,fmt,\
         ^~~~~~~~~~~~~
[ ... continues for a while ... ]


-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), LANGUAGE=pt_BR:pt:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20180201/8e8b263f/attachment.sig>


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