Skip to content

Fail to compile utf-8 version with GCC version 14 with version 0.999992 #12

@tientt-holistics

Description

@tientt-holistics

Gem version: 0.999992
GCC version: 14+

I have also tried manually compiling according to README file and the result was the same

gem_make.out

current directory: /home/bimbal/.local/share/mise/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/ruby-odbc-0.999992/ext/utf8
/home/bimbal/.local/share/mise/installs/ruby/2.7.4/bin/ruby -I /home/bimbal/.local/share/mise/installs/ruby/2.7.4/lib/ruby/2.7.0 -r ./siteconf20241003-290100-sj65ul.rb extconf.rb
checking for version.h... no
checking for ruby/version.h... yes
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 SQLAllocConnect() in -lodbc... yes
checking for SQLConfigDataSource() in -lodbcinst... yes
checking for SQLConfigDataSourceW() in odbcinst.h... yes
checking for SQLWriteFileDSNW() in odbcinst.h... yes
checking for SQLReadFileDSNW() in odbcinst.h... yes
checking for SQLInstallerError() in odbcinst.h... yes
checking for SQLInstallerErrorW() in odbcinst.h... yes
creating Makefile

current directory: /home/bimbal/.local/share/mise/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/ruby-odbc-0.999992/ext/utf8
make "DESTDIR=" clean

current directory: /home/bimbal/.local/share/mise/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/ruby-odbc-0.999992/ext/utf8
make "DESTDIR="
compiling init.c
compiling odbc.c
In file included from odbc.c:17:
../odbc.c:94:9: warning: "RB_OBJ_TAINT" redefined
   94 | #define RB_OBJ_TAINT(o) o
      |         ^~~~~~~~~~~~
In file included from /home/bimbal/.local/share/mise/installs/ruby/2.7.4/include/ruby-2.7.0/ruby.h:33,
                 from ../odbc.c:21:
/home/bimbal/.local/share/mise/installs/ruby/2.7.4/include/ruby-2.7.0/ruby/ruby.h:1333:9: note: this is the location of the previous definition
 1333 | #define RB_OBJ_TAINT(x) (RB_OBJ_TAINTABLE(x) ? RB_OBJ_TAINT_RAW(x) : (void)0)
      |         ^~~~~~~~~~~~
../odbc.c: In function ‘dbc_getinfo’:
../odbc.c:4075:17: error: passing argument 1 of ‘sprintf’ from incompatible pointer type [-Wincompatible-pointer-types]
 4075 |         sprintf(buffer, "Unknown info type %d for ODBC::Connection.get_info",
      |                 ^~~~~~
      |                 |
      |                 SQLWCHAR * {aka short unsigned int *}
In file included from /home/bimbal/.local/share/mise/installs/ruby/2.7.4/include/ruby-2.7.0/ruby/defines.h:126,
                 from /home/bimbal/.local/share/mise/installs/ruby/2.7.4/include/ruby-2.7.0/ruby/ruby.h:29:
/usr/include/stdio.h:365:38: note: expected ‘char * restrict’ but argument is of type ‘SQLWCHAR *’ {aka ‘short unsigned int *’}
  365 | extern int sprintf (char *__restrict __s,
      |                     ~~~~~~~~~~~~~~~~~^~~
../odbc.c:4077:17: error: passing argument 1 of ‘set_err’ from incompatible pointer type [-Wincompatible-pointer-types]
 4077 |         set_err(buffer, 1);
      |                 ^~~~~~
      |                 |
      |                 SQLWCHAR * {aka short unsigned int *}
../odbc.c:1891:21: note: expected ‘const char *’ but argument is of type ‘SQLWCHAR *’ {aka ‘short unsigned int *’}
 1891 | set_err(const char *msg, int warn)
      |         ~~~~~~~~~~~~^~~
make: *** [Makefile:245: odbc.o] Error 1

make failed, exit code 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions