Search code examples
cruby-on-railsrubymacos

Running bundle install on my Ruby on Rails application is generating errors on sqlite3 and nio4r


Running bundle install on my Ruby on Rails project was working successfully on my previous computer (macOS 11 Big Sur). However, on this new computer (macOS 14 Sonoma with the M3 Max Chip), the bundle install command is returning the following errors:

$ bundle install

Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 13.0.6
Using concurrent-ruby 1.2.3
Using minitest 5.23.1
Using thread_safe 0.3.6
Using builder 3.2.4
Using erubi 1.12.0
Using mini_portile2 2.8.2
Using racc 1.6.2
Using crass 1.0.6
Using rack 2.2.7
Using nio4r 2.5.8
Using websocket-extensions 0.1.5
Using mini_mime 1.1.5
Using date 3.3.1
Using timeout 0.3.1
Using arel 9.0.0
Using multi_json 1.15.0
Using method_source 1.0.0
Using thor 1.2.2
Using marcel 1.0.2
Using public_suffix 5.0.3
Using anbt-sql-formatter 0.0.7
Using ast 2.4.2
Using execjs 2.8.1
Using awesome_print 1.9.2
Using bcrypt 3.1.18
Using benchmark-ips 2.9.3
Using rouge 4.1.1
Using bindex 0.8.1
Using debug_inspector 1.1.0
Using ffi 1.15.5
Using will_paginate 3.3.1
Using brakeman 5.2.1
Using uniform_notifier 1.14.2
Using bundler 2.1.4
Using byebug 11.1.3
Using matrix 0.4.2
Using regexp_parser 2.8.1
Using cascade-deleter 0.1.1
Using htmlentities 4.3.4
Using rubyzip 1.3.0
Using childprocess 4.1.0
Using choice 0.2.0
Using numerizer 0.1.1
Using chunky_png 1.4.0
Using climate_control 0.2.0
Using coderay 1.1.3
Using coffee-script-source 1.12.2
Using colorize 0.8.1
Using connection_pool 2.4.1
Using daemons 1.4.1
Using database_cleaner-core 2.0.1
Using dead_end 3.1.1
Using memory_profiler 1.0.0
Using mini_histogram 0.3.1
Using ruby-statistics 3.0.0
Using diff-lcs 1.5.0
Using docile 1.4.0
Using thread 0.2.2
Using erubis 2.7.0
Using eventmachine 1.2.7
Using faraday-em_http 1.0.0
Using faraday-em_synchrony 1.0.0
Using faraday-excon 1.1.0
Using faraday-httpclient 1.0.1
Using multipart-post 2.3.0
Using faraday-net_http 1.0.1
Using faraday-net_http_persistent 1.2.0
Using faraday-patron 1.0.0
Using faraday-rack 1.0.0
Using faraday-retry 1.0.3
Using ruby2_keywords 0.0.5
Using sexp_processor 4.16.0
Using path_expander 1.1.0
Using formatador 1.1.0
Using raabro 1.4.0
Using rspec-support 3.11.1
Using ruby-progressbar 1.13.0
Using multi_xml 0.6.0
Using unicode-display_width 2.4.2
Using rb-fsevent 0.11.2
Using lumberjack 1.2.8
Using nenv 0.3.0
Using shellany 0.0.1
Using guard-compat 1.2.1
Using highline 2.0.3
Using sync 0.5.0
Using json 2.6.3
Using jwt 2.5.0
Using language_server-protocol 3.17.0.3
Using mime-types-data 3.2022.0105
Using mysql2 0.5.4
Using newrelic_rpm 9.2.2
Using oj 3.13.11
Using parallel 1.23.0
Using parsecs 0.14.1
Using rainbow 3.1.1
Using rexml 3.2.6
Using rugged 1.7.1
Using railroady 1.6.0
Using redis 4.6.0
Using remotipart 1.4.4
Using ruby-ole 1.2.12.2
Using rqrcode_core 1.2.0
Using ruby-filemagic 0.7.3
Using tilt 2.0.10
Using secure_headers 6.3.3
Using seed_migration 1.2.3
Using simple_command 0.1.0
Using simplecov-html 0.12.3
Using simplecov_json_formatter 0.1.4
Using temple 0.8.2
Using spring 4.0.0
Using stringex 2.8.5
Using suggest_rb 0.5.2
Using test-prof 1.2.3
Using timecop 0.9.4
Using turbolinks-source 5.2.0
Using wisper 2.0.1
Using wkhtmltopdf-binary 0.12.6.6
Fetching sqlite3 1.4.2
Using i18n 1.14.5
Using rack-test 2.1.0
Using tzinfo 1.2.11
Using websocket-driver 0.7.5
Using net-protocol 0.2.1
Using addressable 2.8.5
Using request_store 1.5.1
Using autoprefixer-rails 10.4.2.0
Using better_errors 2.10.0
Using binding_of_caller 1.0.0
Using sassc 2.4.0
Using bootstrap-will_paginate 1.0.0
Using chronic_duration 0.10.6
Using coffee-script 2.4.1
Using get_process_mem 0.2.7
Using heapy 0.2.0
Using easy_translate 0.5.1
Using sprockets 4.1.1
Using faraday-multipart 1.0.4
Using ruby_parser 3.18.1
Using figaro 1.2.0
Using rspec-core 3.11.0
Using httparty 0.21.0
Using terminal-table 3.0.2
Using rb-inotify 0.10.1
Using notiffany 0.1.3
Using pry 0.13.1
Using rspec-expectations 3.11.1
Using rspec-mocks 3.11.0
Using parser 3.2.2.3
Using tins 1.31.0
Using spoon 0.0.6
Using rack-contrib 2.3.0
Using mime-types 3.4.1
Using mock_redis 0.36.0
Using terrapin 0.6.0
Using parallel_tests 4.2.1
Using rack-cors 1.1.1
Using ruby-graphviz 1.2.5
Using spreadsheet 1.3.0
Using rqrcode 2.2.0
Using selenium-webdriver 4.1.0
Using sidekiq 6.4.1
Using simplecov 0.21.2
Using slim 4.1.0
Using spring-commands-rspec 1.0.4
Using thin 1.8.1
Using turbolinks 5.2.1
Using uglifier 4.2.0
Using money 6.16.0
Using faker 3.2.0
Using i18n-active_record 1.1.0
Using i18n-js 3.9.1
Using nokogiri 1.15.2 (arm64-darwin)
Using activesupport 5.2.8.1
Using loofah 2.21.3
Using net-imap 0.3.2
Using net-pop 0.1.2
Using net-smtp 0.3.3
Using bootstrap-sass 3.4.1
Using xpath 3.2.0
Using caxlsx 3.1.1
Using derailed_benchmarks 2.1.1
Using launchy 2.5.2
Using et-orbi 1.2.7
Using faraday 1.10.3
Using fasterer 0.9.0
Using flay 2.12.1
Using fuubar 2.5.1
Using gitlab 4.19.0
Using listen 3.8.0
Using rspec 3.11.0
Using term-ansicolor 1.7.1
Using interactive_editor 0.0.12
Using mimemagic 0.3.10
Using rubocop-ast 1.29.0
Using pry-byebug 3.9.0
Using pry-rails 0.3.9
Using roo 2.8.3
Using rspec-collection_matchers 1.2.0
Using sidekiq-status 2.1.3
Using the_notification 0.5.1
Using tzinfo-data 1.2023.3
Using inflections 4.1.0 from https://github.com/niltonvasques/inflections.git (at iss17-brazilian-portuguese-inflections@832e15f)
Using montrose 0.11.2
Using sawyer 0.8.2
Using rubocop 1.54.2
Using rabl 0.16.1
Using roo-xls 1.2.0
Using sentry-raven 3.1.2
Using shoulda-matchers 5.3.0
Using wicked_pdf 2.8.0
Using rails-dom-testing 2.0.3
Using rails-html-sanitizer 1.6.0
Using globalid 1.1.0
Using mail 2.8.0
Using activemodel 5.2.8.1
Using bullet 7.0.1
Using capybara 3.36.0
Using factory_bot 5.2.0
Using fugit 1.5.3
Using guard 2.18.0
Using i18n-tasks 0.9.12
Using actionview 5.2.8.1
Using activejob 5.2.8.1
Using activerecord 5.2.8.1
Using email_spec 2.2.2
Using guard-rspec 4.7.3
Using octokit 4.21.0
Using paperclip 6.1.0
Using rubocop-capybara 2.18.0
Using rubocop-factory_bot 2.24.0
Using rubocop-performance 1.19.1
Using rubocop-rails 2.9.1
Using sidekiq-cron 1.6.0
Using actionpack 5.2.8.1
Using activerecord-import 1.3.0
Using audited 5.3.3
Using database_cleaner-active_record 2.0.1
Using hierarchy-tree 0.3.5
Using jbuilder 2.11.5
Using pp_sql 1.1.0
Using pronto 0.11.1
Using rails-erd 1.6.1
Using rubocop-rspec 2.24.0
Using validations-skipper 0.1.1 from https://github.com/oxeanbits/validations-skipper.git (at master@36116d8)
Using wisper-activerecord 1.0.0
Using actioncable 5.2.8.1
Using actionmailer 5.2.8.1
Using railties 5.2.8.1
Using activestorage 5.2.8.1
Using caxlsx_rails 0.6.3
Using database_cleaner 2.0.1
Using deep-cloning 0.3.0
Using sprockets-rails 3.4.2
Using gon 6.4.0
Using pronto-brakeman 0.11.1
Using pronto-eslint_npm 0.11.0
Using pronto-fasterer 0.11.1
Using pronto-flay 0.11.1
Using pronto-rubocop 0.11.5
Using activerecord-session_store 2.0.0
Using coffee-rails 4.2.2
Using rails 5.2.8.1
Using factory_bot_rails 5.2.0
Using font-awesome-rails 4.7.0.8
Using jquery-rails 4.5.1
Using js-routes 1.4.1
Using meta_request 0.7.3
Using rails-i18n 5.1.3
Using responders 3.1.0
Using rspec-rails 5.1.2
Using sassc-rails 2.1.2
Using scenic 1.6.0
Using teaspoon 1.3.0 from https://github.com/jejacks0n/teaspoon.git (at master@a168748)
Using web-console 3.7.0
Using eav_hashes 1.1.0
Using sass-rails 6.0.0
Using scenic-mysql_adapter 1.0.1
Using to_slug_param 1.8
Using yaml_db 0.7.0
Using the_role_api 3.9.1 from https://github.com/niltonvasques/the_role_api.git (at upgrade-rails@352317f)
Using the_role_management_panel 3.8.3 from https://github.com/oxeanbits/the_role_management_panel.git (at master@36c98ae)
Using teaspoon-mocha 2.3.3 from https://github.com/jejacks0n/teaspoon.git (at master@a168748)
Installing sqlite3 1.4.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
/Users/victorcosta/.asdf/installs/ruby/2.7.8/bin/ruby -I /Users/victorcosta/.asdf/installs/ruby/2.7.8/lib/ruby/2.7.0 -r ./siteconf20240618-69783-na3gvd.rb
extconf.rb --with-sqlite3-include\=/path/to/sqlite3/include --with-sqlite3-lib\=/path/to/sqlite3/lib CFLAGS\=-Wno-error\=incompatible-function-pointer-types\
-Wno-error\=int-conversion
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()... no
checking for sqlite3_load_extension()... no
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/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR=" clean

current directory: /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR="
compiling aggregator.c
compiling backup.c
compiling database.c
database.c:141:3: warning: 'sqlite3_trace' is deprecated: first deprecated in macOS 10.12 [-Wdeprecated-declarations]
  sqlite3_trace(ctx->db, NIL_P(block) ? NULL : tracefunc, (void *)self);
  ^~~~~~~~~~~~~
  sqlite3_trace_v2
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:3326:36: note: 'sqlite3_trace' has been explicitly marked deprecated here
SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(
                                   ^
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]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
                                                        ^~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:435:9: note: passing argument to parameter 'callback' here
  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]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
                                                                                ^~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:436:9: note: passing argument to parameter here
  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]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:435:9: note: passing argument to parameter 'callback' here
  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]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
                                                                                   ^~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:436:9: note: passing argument to parameter here
  void *,                                    /* 1st argument to callback */
        ^
1 warning and 4 errors generated.
make: *** [database.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2 for inspection.
Results logged to /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-23/2.7.0/sqlite3-1.4.2/gem_make.out

An error occurred while installing sqlite3 (1.4.2), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  sqlite3

As we can see above, the main errors are:

  1. -Wno-error=incompatible-function-pointer-types
  2. -Wno-error=int-conversion

I tried to ignore these errors by adding this to the .bundle/config file:

BUNDLE_BUILD__NIO4R: "--with-cflags=-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"
BUNDLE_BUILD__SQLITE3: "--with-sqlite3-include=/path/to/sqlite3/include --with-sqlite3-lib=/path/to/sqlite3/lib CFLAGS='-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion'"

Still, the same errors appears...

I also tried to install locally the nio4r and sqlite3 gems skipping these above mentioned errors with the following approach:

sudo gem install nio4r -v '2.5.8' --source 'https://rubygems.org/' -- --with-cflags="-Wno-error=incompatible-function-pointer-types"
sudo gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/' -- --with-cflags="-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types"

These gems were installed locally by the above approach, but these gems are still having errors when installing them via bundle install, which is preventing to run the server (rails s).

Configurations

  • Ruby Version
$ ruby -v
ruby 2.7.8p225 (2023-03-30 revision 1f4d455848) [arm64-darwin23]
  • Gemfile
source 'https://rubygems.org'

# ruby 2.7.5

# Gem to handle webhook events
gem 'wisper'
gem 'wisper-activerecord'

gem 'hierarchy-tree', '~> 0.3.5'

# Gem to add background workers
gem 'sidekiq'
# Gem to get job status
gem 'sidekiq-status'
# Gem to schedule jobs
gem 'sidekiq-cron', '~> 1.6.0'

# Gem for auditions queries
gem "audited"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2'
#gem 'actionpack', '~> 5.0.0'

gem 'mysql2', '~> 0.5.4'

# Use SCSS for stylesheets
gem 'sass-rails'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails'

gem 'rack-cors'
gem 'js-routes', '1.4.1'

# A gem to parse equations written in C++
gem 'parsecs', '0.14.1'

# Allows classes to ignore desired validations
gem 'validations-skipper', git: 'https://github.com/oxeanbits/validations-skipper.git'

# Simple chaining system for building recurrences
gem 'montrose'

# Gem to handle eav columns
gem 'eav_hashes'
### FRONT END GEMS
gem 'bootstrap-sass'
gem 'bootstrap-will_paginate'
# Use Font-Awensomes for icons
gem 'font-awesome-rails'

gem 'rqrcode'

gem 'inflections', git: 'https://github.com/niltonvasques/inflections.git',
                   branch: 'iss17-brazilian-portuguese-inflections'

# Responders dry up the actions
gem 'responders'

gem 'simple_command'

# Mime types
gem 'mime-types'

# The role gem enable a access control management
# gem 'the_role', '~> 3.0.0'
gem 'the_role_api', git: 'https://github.com/niltonvasques/the_role_api.git',
                   branch: 'upgrade-rails'
gem 'the_role_management_panel', git: 'https://github.com/oxeanbits/the_role_management_panel.git'
# gem 'the_role_management_panel', '~> 3.0.0'

gem 'i18n-js'
gem 'i18n-active_record', require: 'i18n/active_record'

# Faker gem allow us, fill database with some users
gem 'faker'

# USeful for detect file type and avoid exploits to be uploaded to server
gem 'roo'
gem 'roo-xls'
gem 'ruby-filemagic'

# Handle upload documents
gem 'paperclip'
gem 'remotipart'
# Use jquery as the JavaScript library
gem 'jquery-rails', '4.5.1'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder'
gem 'oj'
gem 'rabl'

# JSON web token
gem 'jwt'

# Fix JSON encoding decimal to string
#gem 'activesupport-json_encoder'

# batch activerecord
gem 'activerecord-import'

# duplicate records
gem 'deep-cloning', '~> 0.3.0'

# bundle exec rake doc:rails generates the API under doc/api.
# TODO: upgrade or find a replacement
# gem 'sdoc', '~> 0.4.0', group: :doc

# Increase cookies store capacity
gem 'activerecord-session_store'
gem 'secure_headers'
gem 'thin'

# Use ActiveModel has_secure_password
# This gem is a used for encrypt password of user, by has_secure_password pattern
gem 'bcrypt'

# Use axlsx and related gems to export excel files from server
gem 'caxlsx'
gem 'caxlsx_rails', '~> 0.6.3'
gem 'rubyzip'

# Send variables from controller to js using gon
gem 'gon'

gem 'yaml_db'

gem 'awesome_print'

gem 'seed_migration'

gem 'money'

gem 'sentry-raven'

gem 'tzinfo-data'

# Create and manage database views in Rails
gem 'scenic'
gem 'scenic-mysql_adapter'

# Enable to generate PDF files
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

group :production do
  gem 'newrelic_rpm', '~> 9.2'
end

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
  gem 'email_spec'
  gem 'capybara'

  gem 'rspec-collection_matchers'
  gem 'rspec-rails'
  gem 'teaspoon', git: 'https://github.com/jejacks0n/teaspoon.git', branch: :master
  gem 'teaspoon-mocha'

  gem 'factory_bot_rails', require: false

  gem 'database_cleaner'

  gem 'guard-rspec'
  gem 'rb-fsevent' if `uname` =~ /Darwin/
  gem 'spring-commands-rspec'

  gem 'fuubar'

  # adding env variables via configuration file
  gem 'figaro'

  gem 'parallel_tests'

  # Pry is a full replacement for the basic IRB with more power.
  # Call 'binding.pry' anywhere in the code for debugging with pry.
  gem 'pry-rails'

  # Adds step-by-step debugging and stack navigation capabilities to pry using byebug.
  gem 'pry-byebug'

  # Generates Rails 3/4/5 model (ActiveRecord, Mongoid, Datamapper) and controller UML diagrams
  gem 'railroady'

  # Suggests a method that returns the desired result, e.g. [1,2,3].what_returns? 1 => :first
  gem 'suggest_rb'
end

group :test do
  gem 'rspec-mocks' # for rspec-mocks only
  gem 'shoulda-matchers'

  gem 'mock_redis'
  # Test coverage gems
  gem 'simplecov', require: false
  gem 'selenium-webdriver'

  # Ruby test profiler
  gem 'test-prof', '~> 1.0'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console'

  gem 'sqlite3'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'

  gem 'rails-erd'

  gem 'i18n-tasks', '0.9.12'

  gem 'octokit', '4.21.0'
  gem 'pronto'
  gem 'pronto-brakeman' # Analyze security issues
  gem 'pronto-eslint_npm' # JavaScript linter
  gem 'pronto-fasterer' # Analyze performance issues
  gem 'pronto-flay' # Analyze code replication
  gem 'pronto-rubocop', '0.11.5' # Analyze code style and bad smells
  gem 'rubocop', '1.54.2'
  gem 'rubocop-performance'
  gem 'rubocop-rails'
  gem 'rubocop-rspec'

  # rails benchmarking like ram-usage
  gem 'derailed_benchmarks'

  # identify n+1 query and loss of preloading stuff
  gem 'bullet'

  # Better Errors replaces the standard Rails error page with a better and more useful error page
  gem 'better_errors'

  # binding_of_caller is necessary to use Better Errors' advanced features
  # => REPL, local/instance variable inspection, pretty stack frame names)
  gem 'binding_of_caller'

  gem 'pp_sql'

  gem 'interactive_editor'

  # Rails panels adds a number of useful features to the Google Chrome inspector
  gem 'meta_request'
  # Enable cascade deletion (hard and soft)
  gem 'cascade-deleter', '~> 0.1.1'
end

gem "timecop"
  • Machine

My current machine is a Macbook with the M3 Max Chip and the operating system is a Sonoma 14.4 (23E214).

enter image description here


Solution

  • It looks to me like you are most likely configuring the bundler build options incorrectly. It's best to do it with bundle config.

    I think this is what you want:

    bundle config --local build.nio4r --with-cflags="-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"
    bundle config --local build.sqlite3 --with-cflags="-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"
    

    You can then check that the configuration was saved properly:

    bundle config