sclorg / s2i-ruby-container

Ruby container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running Ruby applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
http://softwarecollections.org
Apache License 2.0
55 stars 154 forks source link

Fedora tests are failing on version 3.3 #550

Open phracek opened 1 week ago

phracek commented 1 week ago

Container platform

Podman/Docker

Version

ruby-3.3

OS version of the container image

Fedora

Bugzilla, Jira

No response

Description

The tests for Fedora-3.3 are failing.

See error output:

Running test test_from_dockerfile (starting at 2024-06-25 07:13:41+00:00) ... 
-----------------------------------------------

[INFO] Check building using a Dockerfile...

Using this Dockerfile:
FROM quay.io/fedora/ruby-33:0

ADD --chown=default:root app-src ./

RUN bundle install --path ./bundle

CMD exec bundle exec "rackup -P /tmp/rack.pid --host 0.0.0.0 --port 8080"
Cloning into 'app-src'...
Building 'myapp' image using docker build
STEP 1/4: FROM quay.io/fedora/ruby-33:0
STEP 2/4: ADD --chown=default:root app-src ./
--> b5e83f3ceaae
STEP 3/4: RUN bundle install --path ./bundle
[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path './bundle'`, and stop using this flag
Fetching gem metadata from https://rubygems.org/..........
Fetching rake 13.1.0
Installing rake 13.1.0
Fetching concurrent-ruby 1.2.3
Fetching minitest 5.15.0
Installing minitest 5.15.0
Installing concurrent-ruby 1.2.3
Fetching zeitwerk 2.6.13
Installing zeitwerk 2.6.13
Fetching builder 3.2.4
Installing builder 3.2.4
Fetching erubi 1.12.0
Installing erubi 1.12.0
Fetching mini_portile2 2.6.1
Installing mini_portile2 2.6.1
Fetching racc 1.7.3
Fetching crass 1.0.6
Installing crass 1.0.6
Installing racc 1.7.3 with native extensions
Fetching rack 2.2.8
Installing rack 2.2.8
Fetching nio4r 2.7.0
Installing nio4r 2.7.0 with native extensions
Fetching websocket-extensions 0.1.5
Installing websocket-extensions 0.1.5
Fetching marcel 1.0.2
Installing marcel 1.0.2
Fetching mini_mime 1.1.2
Installing mini_mime 1.1.2
Fetching timeout 0.4.0
Installing timeout 0.4.0
Fetching strscan 3.1.0
Installing strscan 3.1.0 with native extensions
Fetching public_suffix 4.0.7
Installing public_suffix 4.0.7
Fetching bindex 0.8.1
Installing bindex 0.8.1 with native extensions
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching regexp_parser 2.9.0
Installing regexp_parser 2.9.0
Fetching childprocess 3.0.0
Installing childprocess 3.0.0
Fetching coffee-script-source 1.12.2
Installing coffee-script-source 1.12.2
Fetching execjs 2.9.1
Installing execjs 2.9.1
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching thor 1.2.2
Installing thor 1.2.2
Fetching connection_pool 2.4.1
Installing connection_pool 2.4.1
Fetching ffi 1.16.3
Fetching rb-fsevent 0.11.2
Installing rb-fsevent 0.11.2
Fetching matrix 0.4.2
Installing matrix 0.4.2
Fetching pg 1.5.4
Installing ffi 1.16.3 with native extensions
Installing pg 1.5.4 with native extensions
Fetching rubyzip 2.3.2
Installing rubyzip 2.3.2
Fetching tilt 2.3.0
Installing tilt 2.3.0
Fetching spring 2.1.1
Installing spring 2.1.1
Fetching sqlite3 1.4.4
Installing sqlite3 1.4.4 with native extensions
Fetching turbolinks-source 5.2.0
Installing turbolinks-source 5.2.0
Fetching i18n 1.14.1
Installing i18n 1.14.1
Fetching tzinfo 2.0.6
Installing tzinfo 2.0.6
Fetching rack-test 2.1.0
Installing rack-test 2.1.0
Fetching sprockets 4.2.1
Installing sprockets 4.2.1
Fetching nokogiri 1.12.5
Installing nokogiri 1.12.5 with native extensions
Fetching websocket-driver 0.7.6
Installing websocket-driver 0.7.6 with native extensions
Fetching net-protocol 0.1.2
Installing net-protocol 0.1.2
Fetching addressable 2.8.6
Installing addressable 2.8.6
Fetching puma 6.4.2
Installing puma 6.4.2 with native extensions
Fetching coffee-script 2.4.1
Installing coffee-script 2.4.1
Fetching uglifier 4.2.0
Installing uglifier 4.2.0
Fetching redis-client 0.19.1
Installing redis-client 0.19.1
Fetching rb-inotify 0.10.1
Installing rb-inotify 0.10.1
Fetching sassc 2.1.0 (x86_64-linux)
Installing sassc 2.1.0 (x86_64-linux)
Fetching selenium-webdriver 3.142.7
Installing selenium-webdriver 3.142.7
Fetching turbolinks 5.2.1
Installing turbolinks 5.2.1
Fetching activesupport 6.1.7.6
Installing activesupport 6.1.7.6
Fetching net-imap 0.2.2
Installing net-imap 0.2.2
Fetching net-pop 0.1.2
Installing net-pop 0.1.2
Fetching net-smtp 0.3.0
Installing net-smtp 0.3.0
Fetching redis 5.1.0
Installing redis 5.1.0
Fetching listen 3.8.0
Installing listen 3.8.0
Fetching globalid 1.2.1
Installing globalid 1.2.1
Fetching activemodel 6.1.7.6
Installing activemodel 6.1.7.6
Fetching mail 2.8.1
Installing mail 2.8.1
Fetching spring-watcher-listen 2.0.1
Installing spring-watcher-listen 2.0.1
Fetching activejob 6.1.7.6
Installing activejob 6.1.7.6
Fetching activerecord 6.1.7.6
Installing activerecord 6.1.7.6
Fetching rails-dom-testing 2.2.0
Fetching loofah 2.22.0
Installing rails-dom-testing 2.2.0
Installing loofah 2.22.0
Fetching xpath 3.2.0
Installing xpath 3.2.0
Fetching rails-html-sanitizer 1.5.0
Installing rails-html-sanitizer 1.5.0
Fetching capybara 3.35.3
Fetching actionview 6.1.7.6
Installing actionview 6.1.7.6
Installing capybara 3.35.3
Fetching actionpack 6.1.7.6
Installing actionpack 6.1.7.6
Fetching jbuilder 2.11.5
Fetching actioncable 6.1.7.6
Installing jbuilder 2.11.5
Installing actioncable 6.1.7.6
Fetching activestorage 6.1.7.6
Installing activestorage 6.1.7.6
Fetching actionmailer 6.1.7.6
Installing actionmailer 6.1.7.6
Fetching railties 6.1.7.6
Fetching sprockets-rails 3.4.2
Installing railties 6.1.7.6
Installing sprockets-rails 3.4.2
Fetching actionmailbox 6.1.7.6
Installing actionmailbox 6.1.7.6
Fetching actiontext 6.1.7.6
Installing actiontext 6.1.7.6
Fetching coffee-rails 5.0.0
Fetching rails 6.1.7.6
Installing coffee-rails 5.0.0
Installing rails 6.1.7.6
Fetching sassc-rails 2.1.2
Fetching web-console 4.2.1
Installing sassc-rails 2.1.2
Installing web-console 4.2.1
Fetching sass-rails 6.0.0
Installing sass-rails 6.0.0
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/opt/app-root/src/bundle/ruby/3.3.0/gems/sqlite3-1.4.4/ext/sqlite3
/usr/bin/ruby -I/usr/share/rubygems extconf.rb
checking for pkg-config for sqlite3... [" ", "", "-lsqlite3"]
checking for sqlite3.h... yes
checking for pthread_create() in -lpthread... yes
checking for -ldl... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for rb_integer_pack()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_backup_init()... yes
checking for sqlite3_column_database_name()... yes
checking for sqlite3_enable_load_extension()... yes
checking for sqlite3_load_extension()... yes
checking for sqlite3_open_v2()... yes
checking for sqlite3_prepare_v2()... yes
checking for sqlite3_int64 in sqlite3.h... yes
checking for sqlite3_uint64 in sqlite3.h... yes
creating Makefile

current directory:
/opt/app-root/src/bundle/ruby/3.3.0/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-1-l9z3ca
sitelibdir\=./.gem.20240625-1-l9z3ca clean
rm -f 
rm -fr sqlite3_native.so false aggregator.o backup.o database.o exception.o
sqlite3.o statement.o *.bak mkmf.log .*.time

current directory:
/opt/app-root/src/bundle/ruby/3.3.0/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-1-l9z3ca
sitelibdir\=./.gem.20240625-1-l9z3ca
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
-DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE
-DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME
-DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION
-DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64
-DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects
-fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=x86-64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o aggregator.o
-c aggregator.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
-DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE
-DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME
-DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION
-DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64
-DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects
-fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=x86-64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o backup.o -c
backup.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
-DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE
-DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME
-DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION
-DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64
-DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects
-fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=x86-64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o database.o
-c database.c
database.c: In function 'rb_sqlite3_open_v2':
database.c:43:9: warning: unused variable 'flags' [-Wunused-variable]
   43 |   VALUE flags;
      |         ^~~~~
database.c: In function 'exec_batch':
database.c:748:57: error: passing argument 3 of 'sqlite3_exec' from incompatible
pointer type [-Wincompatible-pointer-types]
748 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql),
hash_callback_function, callback_ary, &errMsg);
|                                                        
^~~~~~~~~~~~~~~~~~~~~~
      |                                                         |
|                                                         int (*)(VALUE, 
int,  char **, char **) {aka int (*)(long unsigned int,  int,  char **, char
**)}
In file included from ./sqlite3_ruby.h:25,
                 from database.c:1:
/usr/include/sqlite3.h:428:9: note: expected 'int (*)(void *, int,  char **,
char **)' but argument is of type 'int (*)(VALUE,  int,  char **, char **)' {aka
'int (*)(long unsigned int,  int,  char **, char **)'}
  428 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
database.c:748:81: error: passing argument 4 of 'sqlite3_exec' makes pointer
from integer without a cast [-Wint-conversion]
748 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql),
hash_callback_function, callback_ary, &errMsg);
|                                                                         
^~~~~~~~~~~~
|                                                                         
|
|                                                                         
VALUE {aka long unsigned int}
/usr/include/sqlite3.h:429:3: note: expected 'void *' but argument is of type
'VALUE' {aka 'long unsigned int'}
429 |   void *,                                    /* 1st argument to callback
*/
      |   ^~~~~~
database.c:750:57: error: passing argument 3 of 'sqlite3_exec' from incompatible
pointer type [-Wincompatible-pointer-types]
750 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql),
regular_callback_function, callback_ary, &errMsg);
|                                                        
^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                         |
|                                                         int (*)(VALUE, 
int,  char **, char **) {aka int (*)(long unsigned int,  int,  char **, char
**)}
/usr/include/sqlite3.h:428:9: note: expected 'int (*)(void *, int,  char **,
char **)' but argument is of type 'int (*)(VALUE,  int,  char **, char **)' {aka
'int (*)(long unsigned int,  int,  char **, char **)'}
  428 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
database.c:750:84: error: passing argument 4 of 'sqlite3_exec' makes pointer
from integer without a cast [-Wint-conversion]
750 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql),
regular_callback_function, callback_ary, &errMsg);
|                                                                         
^~~~~~~~~~~~
|                                                                         
|
|                                                                         
VALUE {aka long unsigned int}
/usr/include/sqlite3.h:429:3: note: expected 'void *' but argument is of type
'VALUE' {aka 'long unsigned int'}
429 |   void *,                                    /* 1st argument to callback
*/
      |   ^~~~~~
make: *** [Makefile:249: database.o] Error 1

make failed, exit code 2

Gem files will remain installed in
/opt/app-root/src/bundle/ruby/3.3.0/gems/sqlite3-1.4.4 for inspection.
Results logged to
/opt/app-root/src/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/sqlite3-1.4.4/gem_make.out

  /usr/share/rubygems/rubygems/ext/builder.rb:125:in `run'
  /usr/share/rubygems/rubygems/ext/builder.rb:51:in `block in make'
  /usr/share/rubygems/rubygems/ext/builder.rb:43:in `each'
  /usr/share/rubygems/rubygems/ext/builder.rb:43:in `make'
  /usr/share/rubygems/rubygems/ext/ext_conf_builder.rb:42:in `build'
  /usr/share/rubygems/rubygems/ext/builder.rb:193:in `build_extension'
  /usr/share/rubygems/rubygems/ext/builder.rb:227:in `block in build_extensions'
  /usr/share/rubygems/rubygems/ext/builder.rb:224:in `each'
  /usr/share/rubygems/rubygems/ext/builder.rb:224:in `build_extensions'
  /usr/share/rubygems/rubygems/installer.rb:852:in `build_extensions'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/rubygems_gem_installer.rb:76:in
`build_extensions'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:205:in
`install'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/installer/gem_installer.rb:54:in
`install'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
  /usr/share/gems/gems/bundler-2.5.9/lib/bundler/worker.rb:62:in `apply_func'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/worker.rb:57:in `block in
process_queue'
  <internal:kernel>:187:in `loop'
  /usr/share/gems/gems/bundler-2.5.9/lib/bundler/worker.rb:54:in `process_queue'
/usr/share/gems/gems/bundler-2.5.9/lib/bundler/worker.rb:90:in `block (2
levels) in create_threads'

An error occurred while installing sqlite3 (1.4.4), and Bundler cannot continue.

In Gemfile:
  sqlite3
Error: building at STEP "RUN bundle install --path ./bundle": while running runtime: exit status 5
ERROR: The image cannot be built from /root/sclorg/s2i-ruby-container/3.3/test/examples/from-dockerfile/Dockerfile and application https://github.com/sclorg/rails-ex.git@3.3.
Terminating the Dockerfile build.

Reproducer

No response

voxik commented 1 week ago

Shorter reproducer on F40:

$ gem install sqlite3:1.4.4 --platform ruby
Fetching sqlite3-1.4.4.gem
WARNING:  You don't have /builddir/bin in your PATH,
          gem executables will not run.
Building native extensions. This could take a while...
ERROR:  Error installing sqlite3:
        ERROR: Failed to build gem native extension.

    current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
/usr/bin/ruby -I/usr/share/rubygems extconf.rb
checking for pkg-config for sqlite3... [" ", "", "-lsqlite3"]
checking for sqlite3.h... yes
checking for pthread_create() in -lpthread... yes
checking for -ldl... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for rb_integer_pack()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_backup_init()... yes
checking for sqlite3_column_database_name()... yes
checking for sqlite3_enable_load_extension()... yes
checking for sqlite3_load_extension()... yes
checking for sqlite3_open_v2()... yes
checking for sqlite3_prepare_v2()... yes
checking for sqlite3_int64 in sqlite3.h... yes
checking for sqlite3_uint64 in sqlite3.h... yes
creating Makefile

current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-27-iagj7a sitelibdir\=./.gem.20240625-27-iagj7a clean
rm -f 
rm -fr sqlite3_native.so false aggregator.o backup.o database.o exception.o sqlite3.o statement.o *.bak mkmf.log .*.time

current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-27-iagj7a sitelibdir\=./.gem.20240625-27-iagj7a
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o aggregator.o -c aggregator.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o backup.o -c backup.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o database.o -c database.c
database.c: In function ‘rb_sqlite3_open_v2’:
database.c:43:9: warning: unused variable ‘flags’ [-Wunused-variable]
   43 |   VALUE flags;
      |         ^~~~~
database.c: In function ‘exec_batch’:
database.c:748:57: error: passing argument 3 of ‘sqlite3_exec’ from incompatible pointer type [-Wincompatible-pointer-types]
  748 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         int (*)(VALUE,  int,  char **, char **) {aka int (*)(long unsigned int,  int,  char **, char **)}
In file included from ./sqlite3_ruby.h:25,
                 from database.c:1:
/usr/include/sqlite3.h:428:9: note: expected ‘int (*)(void *, int,  char **, char **)’ but argument is of type ‘int (*)(VALUE,  int,  char **, char **)’ {aka ‘int (*)(long unsigned int,  int,  char **, char **)’}
  428 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
database.c:748:81: error: passing argument 4 of ‘sqlite3_exec’ makes pointer from integer without a cast [-Wint-conversion]
  748 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                                                 ^~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 VALUE {aka long unsigned int}
/usr/include/sqlite3.h:429:3: note: expected ‘void *’ but argument is of type ‘VALUE’ {aka ‘long unsigned int’}
  429 |   void *,                                    /* 1st argument to callback */
      |   ^~~~~~
database.c:750:57: error: passing argument 3 of ‘sqlite3_exec’ from incompatible pointer type [-Wincompatible-pointer-types]
  750 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         int (*)(VALUE,  int,  char **, char **) {aka int (*)(long unsigned int,  int,  char **, char **)}
/usr/include/sqlite3.h:428:9: note: expected ‘int (*)(void *, int,  char **, char **)’ but argument is of type ‘int (*)(VALUE,  int,  char **, char **)’ {aka ‘int (*)(long unsigned int,  int,  char **, char **)’}
  428 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
database.c:750:84: error: passing argument 4 of ‘sqlite3_exec’ makes pointer from integer without a cast [-Wint-conversion]
  750 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                                                    ^~~~~~~~~~~~
      |                                                                                    |
      |                                                                                    VALUE {aka long unsigned int}
/usr/include/sqlite3.h:429:3: note: expected ‘void *’ but argument is of type ‘VALUE’ {aka ‘long unsigned int’}
  429 |   void *,                                    /* 1st argument to callback */
      |   ^~~~~~
make: *** [Makefile:249: database.o] Error 1

make failed, exit code 2

Gem files will remain installed in /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4 for inspection.
Results logged to /builddir/.local/share/gem/ruby/extensions/x86_64-linux/3.3.0/sqlite3-1.4.4/gem_make.out

A new release of RubyGems is available: 3.5.9 → 3.5.14!
Run `gem update --system 3.5.14` to update your installation.

This works on F39:

$ gem install sqlite3:1.4.4 --platform ruby
Fetching sqlite3-1.4.4.gem
WARNING:  You don't have /builddir/bin in your PATH,
          gem executables will not run.
Building native extensions. This could take a while...
Successfully installed sqlite3-1.4.4
1 gem installed

A new release of RubyGems is available: 3.4.19 → 3.5.14!
Run `gem update --system 3.5.14` to update your installation.

However, there are warnings already:

$ cat /builddir/.local/share/gem/ruby/extensions/x86_64-linux/3.2.0/sqlite3-1.4.4/gem_make.out 
current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
/usr/bin/ruby -I/usr/share/rubygems extconf.rb
checking for sqlite3.h... yes
checking for pthread_create() in -lpthread... yes
checking for -ldl... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for rb_integer_pack()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_backup_init()... yes
checking for sqlite3_column_database_name()... yes
checking for sqlite3_enable_load_extension()... yes
checking for sqlite3_load_extension()... yes
checking for sqlite3_open_v2()... yes
checking for sqlite3_prepare_v2()... yes
checking for sqlite3_int64 in sqlite3.h... yes
checking for sqlite3_uint64 in sqlite3.h... yes
creating Makefile

current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-27-qhuboi sitelibdir\=./.gem.20240625-27-qhuboi clean
rm -f 
rm -fr sqlite3_native.so false aggregator.o backup.o database.o exception.o sqlite3.o statement.o *.bak mkmf.log .*.time

current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-27-qhuboi sitelibdir\=./.gem.20240625-27-qhuboi
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o aggregator.o -c aggregator.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o backup.o -c backup.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o database.o -c database.c
database.c: In function ‘rb_sqlite3_open_v2’:
database.c:43:9: warning: unused variable ‘flags’ [-Wunused-variable]
   43 |   VALUE flags;
      |         ^~~~~
database.c: In function ‘exec_batch’:
database.c:748:57: warning: passing argument 3 of ‘sqlite3_exec’ from incompatible pointer type [-Wincompatible-pointer-types]
  748 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         int (*)(VALUE,  int,  char **, char **) {aka int (*)(long unsigned int,  int,  char **, char **)}
In file included from ./sqlite3_ruby.h:25,
                 from database.c:1:
/usr/include/sqlite3.h:428:9: note: expected ‘int (*)(void *, int,  char **, char **)’ but argument is of type ‘int (*)(VALUE,  int,  char **, char **)’ {aka ‘int (*)(long unsigned int,  int,  char **, char **)’}
  428 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
database.c:748:81: warning: passing argument 4 of ‘sqlite3_exec’ makes pointer from integer without a cast [-Wint-conversion]
  748 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                                                 ^~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 VALUE {aka long unsigned int}
/usr/include/sqlite3.h:429:3: note: expected ‘void *’ but argument is of type ‘VALUE’ {aka ‘long unsigned int’}
  429 |   void *,                                    /* 1st argument to callback */
      |   ^~~~~~
database.c:750:57: warning: passing argument 3 of ‘sqlite3_exec’ from incompatible pointer type [-Wincompatible-pointer-types]
  750 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         int (*)(VALUE,  int,  char **, char **) {aka int (*)(long unsigned int,  int,  char **, char **)}
/usr/include/sqlite3.h:428:9: note: expected ‘int (*)(void *, int,  char **, char **)’ but argument is of type ‘int (*)(VALUE,  int,  char **, char **)’ {aka ‘int (*)(long unsigned int,  int,  char **, char **)’}
  428 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
database.c:750:84: warning: passing argument 4 of ‘sqlite3_exec’ makes pointer from integer without a cast [-Wint-conversion]
  750 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                                                    ^~~~~~~~~~~~
      |                                                                                    |
      |                                                                                    VALUE {aka long unsigned int}
/usr/include/sqlite3.h:429:3: note: expected ‘void *’ but argument is of type ‘VALUE’ {aka ‘long unsigned int’}
  429 |   void *,                                    /* 1st argument to callback */
      |   ^~~~~~
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o exception.o -c exception.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o sqlite3.o -c sqlite3.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.  -DHAVE_RB_PROC_ARITY -DHAVE_RB_INTEGER_PACK -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_OPEN_V2 -DHAVE_SQLITE3_PREPARE_V2 -DHAVE_TYPE_SQLITE3_INT64 -DHAVE_TYPE_SQLITE3_UINT64    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC  -m64 -o statement.o -c statement.c
rm -f sqlite3_native.so
gcc -shared -o sqlite3_native.so aggregator.o backup.o database.o exception.o sqlite3.o statement.o -L. -L/usr/lib64 -L. -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed  -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1    -m64  -lruby -lsqlite3 -ldl -lpthread  -lsqlite3 -lm -lpthread  -lc

current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-27-qhuboi sitelibdir\=./.gem.20240625-27-qhuboi install
/usr/bin/mkdir -p . ./.gem.20240625-27-qhuboi/sqlite3
exit > .sitearchdir.-.sqlite3.time
/usr/bin/install -c -m 0755 sqlite3_native.so ./.gem.20240625-27-qhuboi/sqlite3

current directory: /builddir/.local/share/gem/ruby/gems/sqlite3-1.4.4/ext/sqlite3
make DESTDIR\= sitearchdir\=./.gem.20240625-27-qhuboi sitelibdir\=./.gem.20240625-27-qhuboi clean
rm -f 
rm -fr sqlite3_native.so false aggregator.o backup.o database.o exception.o sqlite3.o statement.o *.bak mkmf.log .*.time

So this is likely due to:

https://fedoraproject.org/wiki/Changes/PortingToModernC

and this should be upstream fix:

https://github.com/sparklemotion/sqlite3-ruby/commit/abdbfd5f5d2feb5ec280811b10c8fc0dc14a6729

available since sqlite3 1.5.0