admin管理员组

文章数量:1208153

I've been having problems getting sqlite3 version 1.4.2 to install on mac. I have a legacy http server application which I am trying to install the dependancies for, but bundle install keeps hanging up on sqlite3 specifically. Versions 1.3.13 and below install fine but 1.4.1 and above will not.

I've tried gem installing it with the flags --with-cflags=-Wno-error=implicit-function-declaration -Wno-error=incompatible-function-pointer-types, which helped for previous packages the installer had a hard time with, but it hasn't worked. I have brew installed sqlite3, and no improvement. I am using an Intel mac with OS 15.1.1, xcode and command line tools are installed, ruby 2.7.2, and sqlite3 -version gives 3.48.0. The (mostly) full output of running gem install sqlite3 -v 1.4.2 is below. Some lines in the middle were cutout due to post size limitations, hopefully not a problem as most of the middle lines seem to be repetitive.

Building native extensions. This could take a while...
ERROR:  Error installing sqlite3:
    ERROR: Failed to build gem native extension.

    current directory: /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
/Users/fatcullen/.rbenv/versions/2.7.2/bin/ruby -I /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/2.7.0 -r ./siteconf20250118-12176-hparbb.rb 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: /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR=" clean

current directory: /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR="
compiling aggregator.c
aggregator.c:74:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:74:22: note: '{' token is here
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:74:22: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:74:22: note: ')' token is here
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:141:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:141:23: note: '{' token is here
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:141:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:141:23: note: ')' token is here
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:159:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:159:25: note: '{' token is here
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:159:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:159:25: note: ')' token is here
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:219:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:219:33: note: '{' token is here
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:219:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:219:33: note: ')' token is here
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:220:47: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
aggregator.c:220:47: note: '{' token is here
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
aggregator.c:220:47: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
aggregator.c:220:47: note: ')' token is here
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
aggregator.c:235:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  235 |   if (!rb_ivar_defined(self, rb_intern("-aggregators"))) {
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:235:30: note: '{' token is here
  235 |   if (!rb_ivar_defined(self, rb_intern("-aggregators"))) {
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~

database.c:116:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  116 |   rb_funcall(thing, rb_intern("call"), 1, rb_str_new2(sql));
      |                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^                                  ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:150:37: note: '{' token is here
  150 |   VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count));
      |                                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:150:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  150 |   VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count));
      |                                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:150:37: note: ')' token is here
  150 |   VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count));
      |                                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:299:31: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
database.c:299:31: note: '{' token is here
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
database.c:299:31: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
database.c:299:31: note: ')' token is here
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
database.c:441:39: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:441:39: note: '{' token is here
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:441:39: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:441:39: note: ')' token is here
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: note: '{' token is here
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: note: ')' token is here
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:726:57: error: incompatible function pointer types passing 'int (VALUE, int, char **, char **)' (aka 'int (unsigned long, int, char **, char **)') to parameter of type 'int (*)(void *, int, char **, char **)' [-Wincompatible-function-pointer-types]
  726 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:430:9: note: passing argument to parameter 'callback' here
  430 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |         ^
database.c:726:81: error: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
  726 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                                                 ^~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:431:9: note: passing argument to parameter here
  431 |   void *,                                    /* 1st argument to callback */
      |         ^
database.c:728:57: error: incompatible function pointer types passing 'int (VALUE, int, char **, char **)' (aka 'int (unsigned long, int, char **, char **)') to parameter of type 'int (*)(void *, int, char **, char **)' [-Wincompatible-function-pointer-types]
  728 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:430:9: note: passing argument to parameter 'callback' here
  430 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |         ^
database.c:728:84: error: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
  728 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                                                    ^~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:431:9: note: passing argument to parameter here
  431 |   void *,                                    /* 1st argument to callback */
      |         ^
11 warnings and 4 errors generated.
make: *** [database.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2 for inspection.
Results logged to /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-24/2.7.0/sqlite3-1.4.2/gem_make.out

I've been having problems getting sqlite3 version 1.4.2 to install on mac. I have a legacy http server application which I am trying to install the dependancies for, but bundle install keeps hanging up on sqlite3 specifically. Versions 1.3.13 and below install fine but 1.4.1 and above will not.

I've tried gem installing it with the flags --with-cflags=-Wno-error=implicit-function-declaration -Wno-error=incompatible-function-pointer-types, which helped for previous packages the installer had a hard time with, but it hasn't worked. I have brew installed sqlite3, and no improvement. I am using an Intel mac with OS 15.1.1, xcode and command line tools are installed, ruby 2.7.2, and sqlite3 -version gives 3.48.0. The (mostly) full output of running gem install sqlite3 -v 1.4.2 is below. Some lines in the middle were cutout due to post size limitations, hopefully not a problem as most of the middle lines seem to be repetitive.

Building native extensions. This could take a while...
ERROR:  Error installing sqlite3:
    ERROR: Failed to build gem native extension.

    current directory: /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
/Users/fatcullen/.rbenv/versions/2.7.2/bin/ruby -I /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/2.7.0 -r ./siteconf20250118-12176-hparbb.rb 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: /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR=" clean

current directory: /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR="
compiling aggregator.c
aggregator.c:74:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:74:22: note: '{' token is here
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:74:22: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:74:22: note: ')' token is here
   74 |       handler_klass, rb_intern("new"), 0, NULL, &exc_status));
      |                      ^~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:141:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:141:23: note: '{' token is here
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:141:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:141:23: note: ')' token is here
  141 |     handler_instance, rb_intern("step"), argc, params, &exc_status);
      |                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:159:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:159:25: note: '{' token is here
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:159:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:159:25: note: ')' token is here
  159 |       handler_instance, rb_intern("finalize"), 0, NULL, &exc_status);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:219:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:219:33: note: '{' token is here
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
aggregator.c:219:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
aggregator.c:219:33: note: ')' token is here
  219 |   if (rb_respond_to(aggregator, rb_intern("arity"))) {
      |                                 ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
aggregator.c:220:47: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
aggregator.c:220:47: note: '{' token is here
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
aggregator.c:220:47: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
aggregator.c:220:47: note: ')' token is here
  220 |     VALUE ruby_arity = rb_funcall(aggregator, rb_intern("arity"), 0);
      |                                               ^~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
aggregator.c:235:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  235 |   if (!rb_ivar_defined(self, rb_intern("-aggregators"))) {
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
aggregator.c:235:30: note: '{' token is here
  235 |   if (!rb_ivar_defined(self, rb_intern("-aggregators"))) {
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~

database.c:116:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  116 |   rb_funcall(thing, rb_intern("call"), 1, rb_str_new2(sql));
      |                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^                                  ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:150:37: note: '{' token is here
  150 |   VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count));
      |                                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:150:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  150 |   VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count));
      |                                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:150:37: note: ')' token is here
  150 |   VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count));
      |                                     ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:299:31: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
database.c:299:31: note: '{' token is here
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
database.c:299:31: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
database.c:299:31: note: ')' token is here
  299 |   result = rb_apply(callable, rb_intern("call"), params);
      |                               ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
database.c:441:39: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:441:39: note: '{' token is here
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:441:39: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:441:39: note: ')' token is here
  441 |   VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d);
      |                                       ^~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                       ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: note: '{' token is here
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1832 |     {                                                   \
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
 1837 |     }
      |     ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:538:39: note: ')' token is here
  538 |   comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str);
      |                                       ^~~~~~~~~~~~~~~~~~~~
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
 1847 |         __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
      |                                                        ^
/Users/fatcullen/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
 2689 |         rb_funcallv(recv, mid, \
      |                           ^~~
database.c:726:57: error: incompatible function pointer types passing 'int (VALUE, int, char **, char **)' (aka 'int (unsigned long, int, char **, char **)') to parameter of type 'int (*)(void *, int, char **, char **)' [-Wincompatible-function-pointer-types]
  726 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:430:9: note: passing argument to parameter 'callback' here
  430 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |         ^
database.c:726:81: error: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
  726 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
      |                                                                                 ^~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:431:9: note: passing argument to parameter here
  431 |   void *,                                    /* 1st argument to callback */
      |         ^
database.c:728:57: error: incompatible function pointer types passing 'int (VALUE, int, char **, char **)' (aka 'int (unsigned long, int, char **, char **)') to parameter of type 'int (*)(void *, int, char **, char **)' [-Wincompatible-function-pointer-types]
  728 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:430:9: note: passing argument to parameter 'callback' here
  430 |   int (*callback)(void*,int,char**,char**),  /* Callback function */
      |         ^
database.c:728:84: error: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
  728 |     status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
      |                                                                                    ^~~~~~~~~~~~
/usr/local/opt/sqlite/include/sqlite3.h:431:9: note: passing argument to parameter here
  431 |   void *,                                    /* 1st argument to callback */
      |         ^
11 warnings and 4 errors generated.
make: *** [database.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2 for inspection.
Results logged to /Users/fatcullen/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-24/2.7.0/sqlite3-1.4.2/gem_make.out
Share Improve this question edited Jan 21 at 14:18 FATCullen asked Jan 19 at 11:20 FATCullenFATCullen 113 bronze badges 2
  • Did you install xcode and the command line tools? – max Commented Jan 21 at 6:20
  • @max Yup, both are installed. Forgot to mention that in the post. – FATCullen Commented Jan 22 at 2:43
Add a comment  | 

1 Answer 1

Reset to default 0

Figured it out, there was another flag to add. Buried deep in the log file behind all the warnings there was one integer-conversion error, so adding an ignore flag to this solved the problem. Full command was: gem install sqlite3 -v 1.4.2 -- --with-cflags="--with-cflags=-g -O0 -std=c11 -Wno-error=implicit-function-declaration -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"

本文标签: rubyCannot install the gem sqlite3 version 142 on MacStack Overflow