Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation of ruby 3.1.4 fails on macOS Sonoma 14.0 #470

Closed
eirvandelden opened this issue Oct 13, 2023 · 14 comments
Closed

Installation of ruby 3.1.4 fails on macOS Sonoma 14.0 #470

eirvandelden opened this issue Oct 13, 2023 · 14 comments
Labels

Comments

@eirvandelden
Copy link

Description

Ruby 3.1.4 fails to install on macOS Sonoma 14.0

Steps To Reproduce

Steps to reproduce the bug:

  1. $ ruby-install ruby 3.1.4
  2. installing 3.1.4 with yjit enabled also fails with the same error: $ ruby-install ruby 3.1.4 -- --enable-yjit
  3. installing 3.1.4 with yjit and jemalloc enabled also fails with the same error: $ ruby-install ruby 3.1.4 -- --enable-yjit --with-jemalloc CPPFLAGS="-I$HOMEBREW_PREFIX/opt/jemalloc/include" LDFLAGS="-L$HOMEBREW_PREFIX/opt/jemalloc/lib"

Expected Behavior

  1. Install 3.1.4
  2. Install 3.1.4 with yjit support
  3. Install 3.1.4 with yjit and jemalloc support

Actual Behavior

/opt/homebrew/Cellar/openssl@3/3.1.3/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/Cellar/openssl@3/3.1.3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
ossl_ssl.c:1643:12: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
        ret = func(ssl);
                  ^
7 warnings generated.
compiling ossl_ssl_session.c
In file included from ossl_ssl_session.c:5:
In file included from ./ossl.h:171:
./openssl_missing.h:195:11: warning: 'TS_VERIFY_CTS_set_certs' macro redefined [-Wmacro-redefined]
#  define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts))
          ^
/opt/homebrew/Cellar/openssl@3/3.1.3/include/openssl/ts.h:426:11: note: previous definition is here
#  define TS_VERIFY_CTS_set_certs(ctx, cert) TS_VERIFY_CTX_set_certs(ctx,cert)
          ^
1 warning generated.
compiling ossl_ts.c
In file included from ossl_ts.c:10:
In file included from ./ossl.h:171:
./openssl_missing.h:195:11: warning: 'TS_VERIFY_CTS_set_certs' macro redefined [-Wmacro-redefined]
#  define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts))
          ^
/opt/homebrew/Cellar/openssl@3/3.1.3/include/openssl/ts.h:426:11: note: previous definition is here
#  define TS_VERIFY_CTS_set_certs(ctx, cert) TS_VERIFY_CTX_set_certs(ctx,cert)
          ^
ossl_ts.c:829:5: error: incomplete definition of type 'struct TS_verify_ctx'
    TS_VERIFY_CTX_set_certs(ctx, x509inter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./openssl_missing.h:215:46: note: expanded from macro 'TS_VERIFY_CTX_set_certs'
#  define TS_VERIFY_CTX_set_certs(ctx, crts) TS_VERIFY_CTS_set_certs(ctx, crts)
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./openssl_missing.h:195:52: note: expanded from macro 'TS_VERIFY_CTS_set_certs'
#  define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts))
                                              ~~~~~^
/opt/homebrew/Cellar/openssl@3/3.1.3/include/openssl/ts.h:407:16: note: forward declaration of 'struct TS_verify_ctx'
typedef struct TS_verify_ctx TS_VERIFY_CTX;
               ^
1 warning and 1 error generated.
make[2]: *** [ossl_ts.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2
!!! Compiling ruby 3.1.4 failed!

Environment

$ ruby-install --version
ruby-install: 0.9.2
$ uname -a
Darwin MacBook-Pro.local 23.0.0 Darwin Kernel Version 23.0.0: Fri Sep 15 14:41:43 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T6000 arm64
$ cc --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: arm64-apple-darwin23.0.0
Thread model: posix
InstalledDir:     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ openssl version
OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)
@postmodern
Copy link
Owner

This may be related to an upstream issue in the openssl gem: ruby/openssl#650

@postmodern
Copy link
Owner

@eirvandelden random idea, could you try using ruby-install master. Recently merged a PR which changes the configuration options from using --with-opt-dir to --with-openssl-dir for specifying homebrew's openssl. I'm curious if that helps?
#468

@postmodern
Copy link
Owner

postmodern commented Oct 14, 2023

I am also curious if this error happens if you try compiling ruby manually:

wget https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.xz
tar xJvf ruby-3.1.4.tar.xz
cd ruby-3.1.4/
./configure --prefix="$HOME/.rubies/ruby-3.1.4" --with-opt-dir=""$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm)"
make
make install

@eirvandelden
Copy link
Author

I had small moment this morning. About compiling ruby manually:
What I did:

  • re-use the ruby-3.1.4 folder that I used to test manual compiling
  • ran ./configure --prefix="$HOME/.rubies/ruby-3.1.4" --with-opt-dir="$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm)" (copy-pasted your line, removed a double ")
  • ran make
  • ran make install

It compiled successfully. I did not anticipate that.

@eirvandelden
Copy link
Author

eirvandelden commented Oct 15, 2023

Update 2 on using ruby-install master.
What I did:

  • uninstall brew ruby-install
  • git clone ruby-install master
  • sudo make install
  • verify new ruby-install by running which ruby-install
  • ran ruby-install ruby 3.1.4

It works! I'll use master ruby-install until you have had time release make a new release.

Edit: For completeness sake, I re-ran $ ruby-install ruby 3.1.4 -- --enable-yjit --with-jemalloc CPPFLAGS="-I$HOMEBREW_PREFIX/opt/jemalloc/include" LDFLAGS="-L$HOMEBREW_PREFIX/opt/jemalloc/lib" and verify that also with optional YJIT and jemalloc options it works.

@postmodern
Copy link
Owner

postmodern commented Oct 15, 2023

@eirvandelden I forgot to include the openssl specific instructions in the ./configure command.

ruby-install 0.9.2 uses ./configure ... --with-opt-dir="$(brew --prefix openssl):..." ...

ruby-install master uses: ./configure ... --with-openssl-dir="$(brew --prefix openssl)" --with-opt-dir="..."

Apparently CRuby's autoconf configure script treats --with-openssl-dir differently from --with-opt-dir.

@eirvandelden
Copy link
Author

What I did:
ran the following (separate --with-openssl-dir option) on manually downloaded ruby-3.1.4 source:

./configure --prefix="$HOME/.rubies/ruby-3.1.4" --with-openssl-dir="$(brew --prefix openssl)"  --with-opt-dir="$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm)"
make
make install

Which works and verifies that ruby-install master will fix my issue 👍

Closing (unless you want to keep this open until it has been released)

@postmodern
Copy link
Owner

I will try to release ruby-install 0.9.3 tomorrow.

@FrozenPyrozen
Copy link

FrozenPyrozen commented Oct 23, 2023

The same on Sonoma 14.0 for 3.1.1 using rvm install ruby-3.1.1 .

@FrozenPyrozen
Copy link

FrozenPyrozen commented Oct 23, 2023

What I did: ran the following (separate --with-openssl-dir option) on manually downloaded ruby-3.1.4 source:

./configure --prefix="$HOME/.rubies/ruby-3.1.4" --with-openssl-dir="$(brew --prefix openssl)"  --with-opt-dir="$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm)"
make
make install

Which works and verifies that ruby-install master will fix my issue 👍

Closing (unless you want to keep this open until it has been released)

Try to rvm install 3.2.2 --with-openssl-dir=$(brew --prefix openssl@3) it worked for me

@jcburley
Copy link

@postmodern — I've been banging my head against the wall on this (using ruby-install as well as brew) for the past few days, and nothing seems to work (though I haven't tried everything suggested on every thread everywhere, since that's actually impossible).

While this thread gives me hope, my latest attempt was:

ruby-install --install-dir ~/.rbenv/versions/3.2.2 ruby 3.2.2 -- --enable-yjit --with-openssl-dir="$(brew --prefix openssl)"  --with-opt-dir="$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm)" --with-jemalloc CPPFLAGS="-I$HOMEBREW_PREFIX/opt/jemalloc/include" LDFLAGS="-L$HOMEBREW_PREFIX/opt/jemalloc/lib"

But this doesn't produce a fully-working Ruby either (though at least ruby-install builds something that can run, which brew's formulae currently seem unable to do) — and note that my primary Ruby project is a Rails monolith that was recently upgraded to Ruby 3.2.2, which is why I'm having to attempt this upgrade (as it was all working with Ruby v2):

$ ruby --version
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]
$ bundle install
Bundler 2.4.10 is running, but your lockfile was generated with 2.4.16. Installing Bundler 2.4.16 and restarting using that version.
--- ERROR REPORT TEMPLATE -------------------------------------------------------

LoadError: dlopen(/Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/x86_64-darwin22/zlib.bundle, 0x0009): Library not loaded: libz.1.dylib
  Referenced from: <17DCB53A-2BAB-3773-B170-3D21A4AC5FAB> /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/x86_64-darwin22/zlib.bundle
  Reason: tried: 'libz.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibz.1.dylib' (no such file), 'libz.1.dylib' (no such file), '/Users/c/go/src/github.com/namely/namely/libz.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/c/go/src/github.com/namely/namely/libz.1.dylib' (no such file), '/Users/c/go/src/github.com/namely/namely/libz.1.dylib' (no such file) - /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/x86_64-darwin22/zlib.bundle
  <internal:/Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
  <internal:/Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/fetcher.rb:6:in `<top (required)>'
  <internal:/Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
  <internal:/Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/source/rubygems.rb:256:in `block in fetchers'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/source/rubygems.rb:254:in `map'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/source/rubygems.rb:254:in `fetchers'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/source/rubygems.rb:399:in `block in remote_specs'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/index.rb:9:in `build'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/source/rubygems.rb:398:in `remote_specs'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/source/rubygems.rb:131:in `specs'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/self_manager.rb:117:in `remote_specs'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/self_manager.rb:125:in `find_latest_matching_spec'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/self_manager.rb:44:in `install_and_restart_with'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/self_manager.rb:22:in `install_locked_bundler_and_restart_with_it_if_needed'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/cli/install.rb:15:in `run'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/cli.rb:261:in `block in install'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/settings.rb:131:in `temporary'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/cli.rb:260:in `install'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/cli.rb:34:in `dispatch'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/cli.rb:28:in `start'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.10/libexec/bundle:45:in `block in <top (required)>'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/3.2.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
  /Users/c/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.10/libexec/bundle:33:in `<top (required)>'
  /Users/c/.rbenv/versions/3.2.2/bin/bundle:25:in `load'
  /Users/c/.rbenv/versions/3.2.2/bin/bundle:25:in `<main>'

Environment

Bundler       2.4.10
  Platforms   ruby, x86_64-darwin-22
Ruby          3.2.2p53 (2023-03-30 revision e51014f9c05aa65cbf203442d37fef7c12390015) [x86_64-darwin-22]
  Full Path   /Users/c/.rbenv/versions/3.2.2/bin/ruby
  Config Dir  /Users/c/.rbenv/versions/3.2.2/etc
RubyGems      3.4.10
  Gem Home    /Users/c/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0
  Gem Path    /Users/c/.gem/ruby/3.2.0:/Users/c/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0
  User Home   /Users/c
  User Path   /Users/c/.gem/ruby/3.2.0
  Bin Dir     /Users/c/.rbenv/versions/3.2.2/bin
OpenSSL       
  Compiled    OpenSSL 3.1.4 24 Oct 2023
  Loaded      OpenSSL 3.1.4 24 Oct 2023
  Cert File   /usr/local/etc/openssl@3/cert.pem
  Cert Dir    /usr/local/etc/openssl@3/certs
Tools         
  Git         2.39.3 (Apple Git-145)
  RVM         not installed
  rbenv       rbenv 1.2.0
  chruby      not installed

Bundler Build Metadata

Built At          2023-10-27
Git SHA           unknown
Released Version  false

Bundler settings

build.thrift
  Set for your local app (/Users/c/go/src/github.com/namely/namely/.bundle/config): "--with-cppflags=-Wno-unknown-warning-option -Wno-compound-token-split-by-macro"
gem.coc
  Set for the current user (/Users/c/.bundle/config): false
gem.mit
  Set for the current user (/Users/c/.bundle/config): false
gem.test
  Set for the current user (/Users/c/.bundle/config): false

Gemfile

Gemfile

source 'https://rubygems.org'

gem 'active_model_serializers', '~> 0.10.2'
gem 'activerecord-clean-db-structure', '~> 0.2.1'
gem 'activerecord-import', '~> 1.4.1'
gem 'addressable', '~> 2.8'
gem 'amoeba', '~> 3.2.0'
gem 'attr_encrypted', '~> 3.1.0'
gem 'aws-sdk-cloudfront', '~> 1.76.0'
gem 'aws-sdk-s3', ' ~> 1.122.0'
gem 'aws-sdk-sns', '~> 1.60.0'
gem 'aws-sdk-sqs', '~> 1.55.0'
gem 'backbone-rails'
gem 'bugsnag', '~> 6.13.0'
gem 'builder', '~> 3.2.3' # For XML output (TRAX)
gem 'chronic', '~> 0.10.2'
gem 'cloudfront-signer'
gem 'countries', '~> 0.9.19', git: 'https://github.com/namely/countries.git'
gem 'devise', '~> 4.9.2'
gem 'devise-encryptable', git: 'https://github.com/heartcombo/devise-encryptable.git', branch: 'main'
gem 'distribute_reads', '~> 0.2.4'
gem 'dogapi', '~> 1.21'
gem 'dogstatsd-ruby', '~> 3.3.0', require: 'datadog/statsd'
gem 'doorkeeper', '~> 5.6.6'
gem 'doorkeeper-openid_connect', '~> 1.8.7'
gem 'dragonfly', '~> 1.2.0'
gem 'dragonfly-s3_data_store', '~> 1.2'
gem 'excon', '~> 0.102.0'
gem 'factory_bot_rails', '~> 4.8.2'
gem 'faker', '~> 3.2.1'
gem 'figaro', '~> 1.2.0'
gem 'geocoder', '~> 1.5.1'
gem 'gettext', '~> 3.4.7', require: false
gem 'gettext_i18n_rails', '~> 1.12.0'
gem 'google-protobuf', '~> 3.22.2'
gem 'grpc', '~> 1.49.1'
gem 'grpc_newrelic_interceptor'
gem 'httparty'
gem 'icalendar', '~> 2.4.1'
gem 'iso-639', '~> 0.2.8'
gem 'jbuilder', '~> 2.11', '>= 2.11.5'
gem 'jwt', '~> 2.5'
gem 'logging'
gem 'lograge', '~> 0.12.0'
gem 'logstash-event', '~> 1.2', '>= 1.2.02'
gem 'looker-sdk', '~> 0.0.7'
gem 'mail', '~> 2.7.1'
gem 'mailgun-ruby', '~> 1.2', '>= 1.2.10'
gem 'makara', '~> 0.5.1'
gem 'monetize', '~> 1.12.0'
gem 'naught'
gem 'nested_form', '~> 0.3.2'
gem 'netaddr', '1.5.3'
gem 'net-imap', '0.3.7'
gem 'net-pop', '0.1.2'
gem 'net-smtp', '0.3.3'
gem 'newrelic_rpm', '~> 9.2', '>= 9.2.2' # Monitoring system
gem 'nokogiri', '= 1.13.10' # until ruby 2.7 version
gem 'oj', '~> 3.7', require: !ENV['USE_OPTIMIZED_JSON'].to_s.empty?
gem 'omniauth'
gem 'omniauth-google-oauth2'
gem 'paper_trail', '~> 13.0.0'
gem 'paper_trail-association_tracking'
gem 'paranoia', '~> 2.1'
gem 'pg', '~> 1.1'
gem 'puma', '~> 4.3.12'
gem 'racecar', '~> 2.8.2'
gem 'rack', '~> 2.1.0'
gem 'rack-cache', require: 'rack/cache'
gem 'rack-cors', '~> 2.0.0'
gem 'rack-oauth2', '~> 1.21.3' # For the oauth2 api
gem 'rack-proxy', '~> 0.6.5'
gem 'rails', '~> 6.1.7'
gem 'rails-observers', '~> 0.1.2'
gem 'raindrops', '~> 0.19.0' # force new version of raindrops
gem 'rbtrace', '~> 0.4.14', require: 'rbtrace'
gem 'rchardet19', '~> 1.3.5'
gem 'redcarpet', '~> 3.5.1' # Markdown parser for Updates
gem 'redis', '~> 4.1'
gem 'redis-rails', '~> 5.0.2'
gem 'request_store', '~> 1.4', '>= 1.4.1'
gem 'request_store-sidekiq', '~> 0.1.0'
gem 'rest-client', '~> 2.0.2'
gem 'ruby-filemagic', '~> 0.7.2'
gem 'rubyntlm', '~> 0.6.1'
gem 'ruby-saml', '~> 1.0.0'
gem 'rubyzip', '~> 1.3.0'
gem 'rufus-scheduler', '~> 3.5.0'
gem 'sanitize_email', '~> 2.0'
gem 'sass', '~> 3.5.6'
gem 'savon', '~> 2.11.1'
gem 'scientist', '~> 1.2.0'
gem 'secure_headers', '~> 6.5'
gem 'settingslogic', '~> 2.0.9'
gem 'sidekiq', '~> 5.2'
gem 'sidekiq-status'
gem 'slack_mrkdwn', '~> 2.2'
gem 'slack-ruby-client'
gem 'slim-rails', '~> 3.1.0'
gem 'sprockets', '< 4'
gem 'trimmable'
gem 'useragent', '~> 0.16.10'
gem 'uuidtools', '~> 2.1.3'
gem 'virtus', '~> 1.0', '>= 1.0.5'
gem 'will_paginate', '~> 4'
gem 'zipkin-tracer', '~> 0.39.1'
gem 'zipline', '~> 1.4.0'

source 'https://05583af8:[email protected]/' do
  gem 'sidekiq-ent'
  gem 'sidekiq-pro'
end

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'brakeman'
  gem 'guard', '~> 2.15.0'
  gem 'guard-rspec', '~> 4.7.3', require: false
  gem 'lol_dba'
  gem 'paint', '~> 2.0.1', require: false
  gem 'rack-mini-profiler'
  gem 'railroady'
  gem 'rails-erd', '1.5.2'
  gem 'reek'
  gem 'rubocop'
  gem 'rubocop-performance'
  gem 'rubocop-rails'
  gem 'rubocop-rspec'
end

group :test, :development do
  gem 'amazing_print'
  gem 'benchmark-ips'
  gem 'bullet'
  gem 'byebug', '~> 11.1'
  gem 'capybara-screenshot', '1.0.26'
  gem 'database_cleaner', require: false
  gem 'knapsack_pro', '~> 5.7'
  gem 'launchy', '2.5.2'
  gem 'parallel_tests'
  gem 'pry', '~>0.14.2', require: false
  gem 'pry-byebug', '~> 3.10.1'
  gem 'rspec-activemodel-mocks'
  gem 'rspec-rails'
  gem 'spring', '~> 2'
  gem 'spring-commands-cucumber'
  gem 'spring-commands-rspec'
  gem 'timecop', '0.9.4'
  gem 'webmock', '~> 3.19', '>= 3.19.1', require: false
end

group :test do
  gem 'bunny-mock', require: false
  gem 'capybara', '3.36.0'
  gem 'cucumber-rails', '2.1.0', require: false
  gem 'json-schema'
  gem 'json_spec'
  gem 'mock_redis', require: false
  gem 'rails-controller-testing'
  gem 'rspec_junit_formatter'
  gem 'selenium-webdriver', '3.142.7'
  gem 'shoulda'
  gem 'simplecov', require: false
  gem 'simplecov-lcov', require: false
  gem 'webdrivers', '4.7.0'
end

Gemfile.lock

GIT
  remote: https://github.com/heartcombo/devise-encryptable.git
  revision: 443c042e339aa3eb91d4a93dbe8d612ac2c3c614
  branch: main
  specs:
    devise-encryptable (0.2.0)
      devise (>= 2.1.0)

GIT
  remote: https://github.com/namely/countries.git
  revision: cd33f1709bf9cd6236620286f91d629e29f00574
  specs:
    countries (0.9.19)
      currencies (>= 0.4.0)

GEM
  remote: https://05583af8:[email protected]/
  specs:
    sidekiq-ent (1.8.1)
      einhorn (= 0.7.4)
      sidekiq (>= 5.2.3)
      sidekiq-pro (>= 4.0.4)
    sidekiq-pro (5.0.0)
      concurrent-ruby (>= 1.0.5)
      sidekiq (>= 5.2.7)

GEM
  remote: https://rubygems.org/
  specs:
    actioncable (6.1.7.4)
      actionpack (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
    actionmailbox (6.1.7.4)
      actionpack (= 6.1.7.4)
      activejob (= 6.1.7.4)
      activerecord (= 6.1.7.4)
      activestorage (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      mail (>= 2.7.1)
    actionmailer (6.1.7.4)
      actionpack (= 6.1.7.4)
      actionview (= 6.1.7.4)
      activejob (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      mail (~> 2.5, >= 2.5.4)
      rails-dom-testing (~> 2.0)
    actionpack (6.1.7.4)
      actionview (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      rack (~> 2.0, >= 2.0.9)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.0, >= 1.2.0)
    actiontext (6.1.7.4)
      actionpack (= 6.1.7.4)
      activerecord (= 6.1.7.4)
      activestorage (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      nokogiri (>= 1.8.5)
    actionview (6.1.7.4)
      activesupport (= 6.1.7.4)
      builder (~> 3.1)
      erubi (~> 1.4)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.1, >= 1.2.0)
    active_model_serializers (0.10.13)
      actionpack (>= 4.1, < 7.1)
      activemodel (>= 4.1, < 7.1)
      case_transform (>= 0.2)
      jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
    activejob (6.1.7.4)
      activesupport (= 6.1.7.4)
      globalid (>= 0.3.6)
    activemodel (6.1.7.4)
      activesupport (= 6.1.7.4)
    activerecord (6.1.7.4)
      activemodel (= 6.1.7.4)
      activesupport (= 6.1.7.4)
    activerecord-clean-db-structure (0.2.6)
      activerecord (>= 4.2)
    activerecord-import (1.4.1)
      activerecord (>= 4.2)
    activestorage (6.1.7.4)
      actionpack (= 6.1.7.4)
      activejob (= 6.1.7.4)
      activerecord (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      marcel (~> 1.0)
      mini_mime (>= 1.1.0)
    activesupport (6.1.7.4)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      tzinfo (~> 2.0)
      zeitwerk (~> 2.3)
    addressable (2.8.4)
      public_suffix (>= 2.0.2, < 6.0)
    aes_key_wrap (1.1.0)
    akami (1.3.1)
      gyoku (>= 0.4.0)
      nokogiri
    amazing_print (1.4.0)
    amoeba (3.2.0)
      activerecord (>= 4.2.0)
    amq-protocol (2.3.2)
    ast (2.4.2)
    attr_encrypted (3.1.0)
      encryptor (~> 3.0.0)
    attr_required (1.0.1)
    aws-eventstream (1.2.0)
    aws-partitions (1.764.0)
    aws-sdk-cloudfront (1.76.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-core (3.172.0)
      aws-eventstream (~> 1, >= 1.0.2)
      aws-partitions (~> 1, >= 1.651.0)
      aws-sigv4 (~> 1.5)
      jmespath (~> 1, >= 1.6.1)
    aws-sdk-kms (1.64.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-s3 (1.122.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sdk-kms (~> 1)
      aws-sigv4 (~> 1.4)
    aws-sdk-sns (1.60.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-sqs (1.55.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sigv4 (~> 1.1)
    aws-sigv4 (1.5.2)
      aws-eventstream (~> 1, >= 1.0.2)
    axiom-types (0.1.1)
      descendants_tracker (~> 0.0.4)
      ice_nine (~> 0.11.0)
      thread_safe (~> 0.3, >= 0.3.1)
    backbone-rails (1.2.3)
      rails (>= 3.0.0)
    bcrypt (3.1.19)
    benchmark-ips (2.12.0)
    better_errors (2.9.1)
      coderay (>= 1.0.0)
      erubi (>= 1.0.0)
      rack (>= 0.9.0)
    bindata (2.4.15)
    binding_of_caller (1.0.0)
      debug_inspector (>= 0.0.1)
    brakeman (5.4.0)
    bugsnag (6.13.1)
      concurrent-ruby (~> 1.0)
    builder (3.2.4)
    bullet (7.0.7)
      activesupport (>= 3.0.0)
      uniform_notifier (~> 1.11)
    bunny (2.20.3)
      amq-protocol (~> 2.3, >= 2.3.1)
      sorted_set (~> 1, >= 1.0.2)
    bunny-mock (1.7.0)
      bunny (>= 1.7)
    byebug (11.1.3)
    capybara (3.36.0)
      addressable
      matrix
      mini_mime (>= 0.1.3)
      nokogiri (~> 1.8)
      rack (>= 1.6.0)
      rack-test (>= 0.6.3)
      regexp_parser (>= 1.5, < 3.0)
      xpath (~> 3.2)
    capybara-screenshot (1.0.26)
      capybara (>= 1.0, < 4)
      launchy
    case_transform (0.2)
      activesupport
    childprocess (3.0.0)
    choice (0.2.0)
    chronic (0.10.2)
    chronic_duration (0.10.6)
      numerizer (~> 0.1.1)
    cloudfront-signer (3.0.2)
    coderay (1.1.3)
    coercible (1.0.0)
      descendants_tracker (~> 0.0.1)
    concurrent-ruby (1.2.2)
    connection_pool (2.3.0)
    crack (0.4.5)
      rexml
    crass (1.0.6)
    cucumber (4.1.0)
      builder (~> 3.2, >= 3.2.3)
      cucumber-core (~> 7.1, >= 7.1.0)
      cucumber-create-meta (~> 1.0.0, >= 1.0.0)
      cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
      cucumber-gherkin (~> 14.0, >= 14.0.1)
      cucumber-html-formatter (~> 7.0, >= 7.0.0)
      cucumber-messages (~> 12.2, >= 12.2.0)
      cucumber-wire (~> 3.1, >= 3.1.0)
      diff-lcs (~> 1.3, >= 1.3, < 1.4)
      multi_test (~> 0.1, >= 0.1.2)
      sys-uname (~> 1.0, >= 1.0.2)
    cucumber-core (7.1.0)
      cucumber-gherkin (~> 14.0, >= 14.0.1)
      cucumber-messages (~> 12.2, >= 12.2.0)
      cucumber-tag-expressions (~> 2.0, >= 2.0.4)
    cucumber-create-meta (1.0.0)
      cucumber-messages (~> 12.2, >= 12.2.0)
      sys-uname (~> 1.2, >= 1.2.1)
    cucumber-cucumber-expressions (10.3.0)
    cucumber-gherkin (14.2.0)
      cucumber-messages (~> 12.4, >= 12.4.0)
    cucumber-html-formatter (7.2.0)
      cucumber-messages (~> 12.4, >= 12.4.0)
    cucumber-messages (12.4.0)
      protobuf-cucumber (~> 3.10, >= 3.10.8)
    cucumber-rails (2.1.0)
      capybara (>= 2.12, < 4)
      cucumber (>= 3.0.2, < 5)
      mime-types (>= 2.0, < 4)
      nokogiri (~> 1.8)
      rails (>= 4.2, < 7)
    cucumber-tag-expressions (2.0.4)
    cucumber-wire (3.1.0)
      cucumber-core (~> 7.1, >= 7.1.0)
      cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
      cucumber-messages (~> 12.2, >= 12.2.0)
    currencies (0.4.2)
    database_cleaner (2.0.1)
      database_cleaner-active_record (~> 2.0.0)
    database_cleaner-active_record (2.0.1)
      activerecord (>= 5.a)
      database_cleaner-core (~> 2.0.0)
    database_cleaner-core (2.0.1)
    date (3.3.3)
    debug_inspector (1.1.0)
    descendants_tracker (0.0.4)
      thread_safe (~> 0.3, >= 0.3.1)
    devise (4.9.2)
      bcrypt (~> 3.0)
      orm_adapter (~> 0.1)
      railties (>= 4.1.0)
      responders
      warden (~> 1.2.3)
    diff-lcs (1.3)
    distribute_reads (0.2.4)
      makara
    docile (1.4.0)
    dogapi (1.45.0)
      multi_json
    dogstatsd-ruby (3.3.0)
    domain_name (0.5.20190701)
      unf (>= 0.0.5, < 1.0.0)
    doorkeeper (5.6.6)
      railties (>= 5)
    doorkeeper-openid_connect (1.8.7)
      doorkeeper (>= 5.5, < 5.7)
      jwt (>= 2.5)
    dragonfly (1.2.1)
      addressable (~> 2.3)
      multi_json (~> 1.0)
      rack (>= 1.3)
    dragonfly-s3_data_store (1.3.0)
      dragonfly (~> 1.0)
      fog-aws
    einhorn (0.7.4)
    encryptor (3.0.0)
    equalizer (0.0.11)
    erubi (1.12.0)
    et-orbi (1.2.7)
      tzinfo
    excon (0.102.0)
    factory_bot (4.8.2)
      activesupport (>= 3.0.0)
    factory_bot_rails (4.8.2)
      factory_bot (~> 4.8.2)
      railties (>= 3.0.0)
    faker (3.2.1)
      i18n (>= 1.8.11, < 2)
    faraday (0.17.6)
      multipart-post (>= 1.2, < 3)
    faraday_middleware (0.14.0)
      faraday (>= 0.7.4, < 1.0)
    fast_gettext (2.3.0)
    ffi (1.15.5)
    figaro (1.2.0)
      thor (>= 0.14.0, < 2)
    fog-aws (3.18.0)
      fog-core (~> 2.1)
      fog-json (~> 1.1)
      fog-xml (~> 0.1)
    fog-core (2.1.2)
      builder
      excon (~> 0.58)
      formatador (~> 0.2)
      mime-types
    fog-json (1.2.0)
      fog-core
      multi_json (~> 1.10)
    fog-xml (0.1.4)
      fog-core
      nokogiri (>= 1.5.11, < 2.0.0)
    formatador (0.3.0)
    forwardable (1.3.3)
    fugit (1.8.1)
      et-orbi (~> 1, >= 1.2.7)
      raabro (~> 1.4)
    geocoder (1.5.2)
    gettext (3.4.7)
      erubi
      locale (>= 2.0.5)
      prime
      racc
      text (>= 1.3.0)
    gettext_i18n_rails (1.12.0)
      fast_gettext (>= 0.9.0)
    gli (2.21.0)
    globalid (1.1.0)
      activesupport (>= 5.0)
    google-protobuf (3.22.2)
    googleapis-common-protos-types (1.5.0)
      google-protobuf (~> 3.14)
    grpc (1.49.1)
      google-protobuf (~> 3.21)
      googleapis-common-protos-types (~> 1.0)
    grpc_newrelic_interceptor (0.0.6)
      grpc
      newrelic_rpm (>= 6.0, < 10.0)
    guard (2.15.1)
      formatador (>= 0.2.4)
      listen (>= 2.7, < 4.0)
      lumberjack (>= 1.0.12, < 2.0)
      nenv (~> 0.1)
      notiffany (~> 0.0)
      pry (>= 0.9.12)
      shellany (~> 0.0)
      thor (>= 0.18.1)
    guard-compat (1.2.1)
    guard-rspec (4.7.3)
      guard (~> 2.1)
      guard-compat (~> 1.1)
      rspec (>= 2.99.0, < 4.0)
    gyoku (1.4.0)
      builder (>= 2.1.2)
      rexml (~> 3.0)
    hashdiff (1.0.1)
    hashie (5.0.0)
    http-cookie (1.0.5)
      domain_name (~> 0.5)
    httparty (0.21.0)
      mini_mime (>= 1.0.0)
      multi_xml (>= 0.5.2)
    httpclient (2.8.3)
    httpi (2.5.0)
      rack
      socksify
    i18n (1.14.1)
      concurrent-ruby (~> 1.0)
    icalendar (2.4.1)
    ice_nine (0.11.2)
    iso-639 (0.2.10)
    jbuilder (2.11.5)
      actionview (>= 5.0.0)
      activesupport (>= 5.0.0)
    jmespath (1.6.2)
    json (2.6.3)
    json-jwt (1.15.3)
      activesupport (>= 4.2)
      aes_key_wrap
      bindata
      httpclient
    json-schema (3.0.0)
      addressable (>= 2.8)
    json_spec (1.1.5)
      multi_json (~> 1.0)
      rspec (>= 2.0, < 4.0)
    jsonapi-renderer (0.2.2)
    jwt (2.7.1)
    king_konf (1.0.1)
    knapsack_pro (5.7.0)
      rake
    kwalify (0.7.2)
    language_server-protocol (3.17.0.3)
    launchy (2.5.2)
      addressable (~> 2.8)
    listen (3.8.0)
      rb-fsevent (~> 0.10, >= 0.10.3)
      rb-inotify (~> 0.9, >= 0.9.10)
    little-plugger (1.1.4)
    locale (2.1.3)
    logging (2.3.1)
      little-plugger (~> 1.1)
      multi_json (~> 1.14)
    lograge (0.12.0)
      actionpack (>= 4)
      activesupport (>= 4)
      railties (>= 4)
      request_store (~> 1.0)
    logstash-event (1.2.02)
    lol_dba (2.4.0)
      actionpack
      activerecord
      railties
    loofah (2.21.3)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    looker-sdk (0.0.7)
      faraday (>= 0.9.0, < 1.0)
      sawyer (~> 0.8)
    lumberjack (1.2.8)
    macaddr (1.7.2)
      systemu (~> 2.6.5)
    mail (2.7.1)
      mini_mime (>= 0.1.1)
    mailgun-ruby (1.2.10)
      rest-client (>= 2.0.2)
    makara (0.5.1)
      activerecord (>= 5.2.0)
    marcel (1.0.2)
    matrix (0.4.2)
    method_source (1.0.0)
    middleware (0.1.0)
    mime-types (3.4.1)
      mime-types-data (~> 3.2015)
    mime-types-data (3.2022.0105)
    mini_mime (1.1.5)
    mini_portile2 (2.8.4)
    minitest (5.19.0)
    mock_redis (0.36.0)
      ruby2_keywords
    monetize (1.12.0)
      money (~> 6.12)
    money (6.16.0)
      i18n (>= 0.6.4, <= 2)
    msgpack (1.6.0)
    multi_json (1.15.0)
    multi_test (0.1.2)
    multi_xml (0.6.0)
    multipart-post (2.3.0)
    naught (1.1.0)
    nenv (0.3.0)
    nested_form (0.3.2)
    net-imap (0.3.7)
      date
      net-protocol
    net-pop (0.1.2)
      net-protocol
    net-protocol (0.2.1)
      timeout
    net-smtp (0.3.3)
      net-protocol
    netaddr (1.5.3)
    netrc (0.11.0)
    newrelic_rpm (9.2.2)
    nio4r (2.5.9)
    nokogiri (1.13.10)
      mini_portile2 (~> 2.8.0)
      racc (~> 1.4)
    nori (2.6.0)
    notiffany (0.1.3)
      nenv (~> 0.1)
      shellany (~> 0.0)
    numerizer (0.1.1)
    oauth2 (2.0.9)
      faraday (>= 0.17.3, < 3.0)
      jwt (>= 1.0, < 3.0)
      multi_xml (~> 0.5)
      rack (>= 1.2, < 4)
      snaky_hash (~> 2.0)
      version_gem (~> 1.1)
    oj (3.14.2)
    omniauth (2.0.4)
      hashie (>= 3.4.6)
      rack (>= 1.6.2, < 3)
      rack-protection
    omniauth-google-oauth2 (0.5.4)
      jwt (>= 1.5)
      omniauth (>= 1.1.1)
      omniauth-oauth2 (>= 1.5)
    omniauth-oauth2 (1.8.0)
      oauth2 (>= 1.4, < 3)
      omniauth (~> 2.0)
    optimist (3.0.1)
    orm_adapter (0.5.0)
    paint (2.0.3)
    paper_trail (13.0.0)
      activerecord (>= 5.2)
      request_store (~> 1.1)
    paper_trail-association_tracking (2.2.1)
      paper_trail (>= 12.0)
    parallel (1.23.0)
    parallel_tests (3.13.0)
      parallel
    paranoia (2.4.3)
      activerecord (>= 4.0, < 6.2)
    parser (3.2.2.3)
      ast (~> 2.4.1)
      racc
    pg (1.5.3)
    prime (0.1.2)
      forwardable
      singleton
    protobuf-cucumber (3.10.8)
      activesupport (>= 3.2)
      middleware
      thor
      thread_safe
    pry (0.14.2)
      coderay (~> 1.1)
      method_source (~> 1.0)
    pry-byebug (3.10.1)
      byebug (~> 11.0)
      pry (>= 0.13, < 0.15)
    public_suffix (5.0.1)
    puma (4.3.12)
      nio4r (~> 2.0)
    raabro (1.4.0)
    racc (1.7.1)
    racecar (2.8.2)
      king_konf (~> 1.0.0)
      rdkafka (~> 0.12.0)
    rack (2.1.4.3)
    rack-cache (1.13.0)
      rack (>= 0.4)
    rack-cors (2.0.1)
      rack (>= 2.0.0)
    rack-mini-profiler (3.1.0)
      rack (>= 1.2.0)
    rack-oauth2 (1.21.3)
      activesupport
      attr_required
      httpclient
      json-jwt (>= 1.11.0)
      rack (>= 2.1.0)
    rack-protection (3.0.6)
      rack
    rack-proxy (0.6.5)
      rack
    rack-test (2.1.0)
      rack (>= 1.3)
    railroady (1.6.0)
    rails (6.1.7.4)
      actioncable (= 6.1.7.4)
      actionmailbox (= 6.1.7.4)
      actionmailer (= 6.1.7.4)
      actionpack (= 6.1.7.4)
      actiontext (= 6.1.7.4)
      actionview (= 6.1.7.4)
      activejob (= 6.1.7.4)
      activemodel (= 6.1.7.4)
      activerecord (= 6.1.7.4)
      activestorage (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      bundler (>= 1.15.0)
      railties (= 6.1.7.4)
      sprockets-rails (>= 2.0.0)
    rails-controller-testing (1.0.5)
      actionpack (>= 5.0.1.rc1)
      actionview (>= 5.0.1.rc1)
      activesupport (>= 5.0.1.rc1)
    rails-dom-testing (2.2.0)
      activesupport (>= 5.0.0)
      minitest
      nokogiri (>= 1.6)
    rails-erd (1.5.2)
      activerecord (>= 3.2)
      activesupport (>= 3.2)
      choice (~> 0.2.0)
      ruby-graphviz (~> 1.2)
    rails-html-sanitizer (1.5.0)
      loofah (~> 2.19, >= 2.19.1)
    rails-observers (0.1.5)
      activemodel (>= 4.0)
    railties (6.1.7.4)
      actionpack (= 6.1.7.4)
      activesupport (= 6.1.7.4)
      method_source
      rake (>= 12.2)
      thor (~> 1.0)
    rainbow (3.1.1)
    raindrops (0.19.2)
    rake (13.0.6)
    rb-fsevent (0.11.2)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    rbtrace (0.4.14)
      ffi (>= 1.0.6)
      msgpack (>= 0.4.3)
      optimist (>= 3.0.0)
    rbtree (0.4.6)
    rchardet19 (1.3.7)
    rdkafka (0.12.0)
      ffi (~> 1.15)
      mini_portile2 (~> 2.6)
      rake (> 12)
    redcarpet (3.5.1)
    redis (4.1.4)
    redis-actionpack (5.3.0)
      actionpack (>= 5, < 8)
      redis-rack (>= 2.1.0, < 3)
      redis-store (>= 1.1.0, < 2)
    redis-activesupport (5.3.0)
      activesupport (>= 3, < 8)
      redis-store (>= 1.3, < 2)
    redis-rack (2.1.4)
      rack (>= 2.0.8, < 3)
      redis-store (>= 1.2, < 2)
    redis-rails (5.0.2)
      redis-actionpack (>= 5.0, < 6)
      redis-activesupport (>= 5.0, < 6)
      redis-store (>= 1.2, < 2)
    redis-store (1.6.0)
      redis (>= 2.2, < 5)
    reek (6.1.4)
      kwalify (~> 0.7.0)
      parser (~> 3.2.0)
      rainbow (>= 2.0, < 4.0)
    regexp_parser (2.8.1)
    request_store (1.5.1)
      rack (>= 1.4)
    request_store-sidekiq (0.1.0)
      request_store (>= 1.3)
      sidekiq (>= 3.0)
    responders (3.1.0)
      actionpack (>= 5.2)
      railties (>= 5.2)
    rest-client (2.0.2)
      http-cookie (>= 1.0.2, < 2.0)
      mime-types (>= 1.16, < 4.0)
      netrc (~> 0.8)
    rexml (3.2.6)
    rspec (3.12.0)
      rspec-core (~> 3.12.0)
      rspec-expectations (~> 3.12.0)
      rspec-mocks (~> 3.12.0)
    rspec-activemodel-mocks (1.1.0)
      activemodel (>= 3.0)
      activesupport (>= 3.0)
      rspec-mocks (>= 2.99, < 4.0)
    rspec-core (3.12.2)
      rspec-support (~> 3.12.0)
    rspec-expectations (3.12.3)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.12.0)
    rspec-mocks (3.12.6)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.12.0)
    rspec-rails (5.1.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      railties (>= 5.2)
      rspec-core (~> 3.10)
      rspec-expectations (~> 3.10)
      rspec-mocks (~> 3.10)
      rspec-support (~> 3.10)
    rspec-support (3.12.1)
    rspec_junit_formatter (0.6.0)
      rspec-core (>= 2, < 4, != 2.12.0)
    rubocop (1.55.1)
      json (~> 2.3)
      language_server-protocol (>= 3.17.0)
      parallel (~> 1.10)
      parser (>= 3.2.2.3)
      rainbow (>= 2.2.2, < 4.0)
      regexp_parser (>= 1.8, < 3.0)
      rexml (>= 3.2.5, < 4.0)
      rubocop-ast (>= 1.28.1, < 2.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (>= 2.4.0, < 3.0)
    rubocop-ast (1.29.0)
      parser (>= 3.2.1.0)
    rubocop-capybara (2.18.0)
      rubocop (~> 1.41)
    rubocop-factory_bot (2.23.1)
      rubocop (~> 1.33)
    rubocop-performance (1.18.0)
      rubocop (>= 1.7.0, < 2.0)
      rubocop-ast (>= 0.4.0)
    rubocop-rails (2.20.2)
      activesupport (>= 4.2.0)
      rack (>= 1.1)
      rubocop (>= 1.33.0, < 2.0)
    rubocop-rspec (2.23.0)
      rubocop (~> 1.33)
      rubocop-capybara (~> 2.17)
      rubocop-factory_bot (~> 2.22)
    ruby-filemagic (0.7.3)
    ruby-graphviz (1.2.5)
      rexml
    ruby-progressbar (1.13.0)
    ruby-saml (1.0.0)
      nokogiri (>= 1.5.10)
      uuid (~> 2.3)
    ruby2_keywords (0.0.5)
    rubyntlm (0.6.3)
    rubyzip (1.3.0)
    rufus-scheduler (3.5.2)
      fugit (~> 1.1, >= 1.1.5)
    sanitize_email (2.0.3)
    sass (3.5.7)
      sass-listen (~> 4.0.0)
    sass-listen (4.0.0)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
    savon (2.11.2)
      akami (~> 1.2)
      builder (>= 2.1.2)
      gyoku (~> 1.2)
      httpi (~> 2.3)
      nokogiri (>= 1.4.0)
      nori (~> 2.4)
      wasabi (~> 3.4)
    sawyer (0.9.2)
      addressable (>= 2.3.5)
      faraday (>= 0.17.3, < 3)
    scientist (1.2.0)
    secure_headers (6.5.0)
    selenium-webdriver (3.142.7)
      childprocess (>= 0.5, < 4.0)
      rubyzip (>= 1.2.2)
    set (1.0.3)
    settingslogic (2.0.9)
    shellany (0.0.1)
    shoulda (4.0.0)
      shoulda-context (~> 2.0)
      shoulda-matchers (~> 4.0)
    shoulda-context (2.0.0)
    shoulda-matchers (4.5.1)
      activesupport (>= 4.2.0)
    sidekiq (5.2.9)
      connection_pool (~> 2.2, >= 2.2.2)
      rack (~> 2.0)
      rack-protection (>= 1.5.0)
      redis (>= 3.3.5, < 4.2)
    sidekiq-status (2.1.3)
      chronic_duration
      sidekiq (>= 5.0)
    simplecov (0.22.0)
      docile (~> 1.1)
      simplecov-html (~> 0.11)
      simplecov_json_formatter (~> 0.1)
    simplecov-html (0.12.3)
    simplecov-lcov (0.8.0)
    simplecov_json_formatter (0.1.4)
    singleton (0.1.1)
    slack-ruby-client (0.14.6)
      activesupport
      faraday (>= 0.9)
      faraday_middleware
      gli
      hashie
      websocket-driver
    slack_mrkdwn (2.2.1)
      redcarpet (>= 3.5.1)
    slim (3.0.9)
      temple (>= 0.7.6, < 0.9)
      tilt (>= 1.3.3, < 2.1)
    slim-rails (3.1.3)
      actionpack (>= 3.1)
      railties (>= 3.1)
      slim (~> 3.0)
    snaky_hash (2.0.1)
      hashie
      version_gem (~> 1.1, >= 1.1.1)
    socksify (1.7.1)
    sorted_set (1.0.3)
      rbtree
      set (~> 1.0)
    spring (2.1.1)
    spring-commands-cucumber (1.0.1)
      spring (>= 0.9.1)
    spring-commands-rspec (1.0.4)
      spring (>= 0.9.1)
    sprockets (3.7.2)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)
    sprockets-rails (3.4.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      sprockets (>= 3.0.0)
    sucker_punch (2.1.2)
      concurrent-ruby (~> 1.0)
    sys-uname (1.2.2)
      ffi (~> 1.1)
    systemu (2.6.5)
    temple (0.8.2)
    text (1.3.1)
    thor (1.2.2)
    thread_safe (0.3.6)
    tilt (2.0.11)
    timecop (0.9.4)
    timeout (0.4.0)
    trimmable (0.1.1)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    unf (0.1.4)
      unf_ext
    unf_ext (0.0.8.2)
    unicode-display_width (2.4.2)
    uniform_notifier (1.16.0)
    useragent (0.16.10)
    uuid (2.3.9)
      macaddr (~> 1.0)
    uuidtools (2.1.5)
    version_gem (1.1.3)
    virtus (1.0.5)
      axiom-types (~> 0.1)
      coercible (~> 1.0)
      descendants_tracker (~> 0.0, >= 0.0.3)
      equalizer (~> 0.0, >= 0.0.9)
    warden (1.2.9)
      rack (>= 2.0.9)
    wasabi (3.7.0)
      addressable
      httpi (~> 2.0)
      nokogiri (>= 1.4.2)
    webdrivers (4.7.0)
      nokogiri (~> 1.6)
      rubyzip (>= 1.3.0)
      selenium-webdriver (> 3.141, < 5.0)
    webmock (3.19.1)
      addressable (>= 2.8.0)
      crack (>= 0.3.2)
      hashdiff (>= 0.4.0, < 2.0.0)
    websocket-driver (0.7.6)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    will_paginate (4.0.0)
    xpath (3.2.0)
      nokogiri (~> 1.8)
    zeitwerk (2.6.11)
    zip_tricks (5.6.0)
    zipkin-tracer (0.39.2)
      faraday (~> 0.13)
      rack (>= 1.0)
      sucker_punch (~> 2.0)
    zipline (1.4.0)
      actionpack (>= 3.2.1, < 8.0)
      zip_tricks (>= 4.2.1, < 6.0)

PLATFORMS
  ruby

DEPENDENCIES
  active_model_serializers (~> 0.10.2)
  activerecord-clean-db-structure (~> 0.2.1)
  activerecord-import (~> 1.4.1)
  addressable (~> 2.8)
  amazing_print
  amoeba (~> 3.2.0)
  attr_encrypted (~> 3.1.0)
  aws-sdk-cloudfront (~> 1.76.0)
  aws-sdk-s3 (~> 1.122.0)
  aws-sdk-sns (~> 1.60.0)
  aws-sdk-sqs (~> 1.55.0)
  backbone-rails
  benchmark-ips
  better_errors
  binding_of_caller
  brakeman
  bugsnag (~> 6.13.0)
  builder (~> 3.2.3)
  bullet
  bunny-mock
  byebug (~> 11.1)
  capybara (= 3.36.0)
  capybara-screenshot (= 1.0.26)
  chronic (~> 0.10.2)
  cloudfront-signer
  countries (~> 0.9.19)!
  cucumber-rails (= 2.1.0)
  database_cleaner
  devise (~> 4.9.2)
  devise-encryptable!
  distribute_reads (~> 0.2.4)
  dogapi (~> 1.21)
  dogstatsd-ruby (~> 3.3.0)
  doorkeeper (~> 5.6.6)
  doorkeeper-openid_connect (~> 1.8.7)
  dragonfly (~> 1.2.0)
  dragonfly-s3_data_store (~> 1.2)
  excon (~> 0.102.0)
  factory_bot_rails (~> 4.8.2)
  faker (~> 3.2.1)
  figaro (~> 1.2.0)
  geocoder (~> 1.5.1)
  gettext (~> 3.4.7)
  gettext_i18n_rails (~> 1.12.0)
  google-protobuf (~> 3.22.2)
  grpc (~> 1.49.1)
  grpc_newrelic_interceptor
  guard (~> 2.15.0)
  guard-rspec (~> 4.7.3)
  httparty
  icalendar (~> 2.4.1)
  iso-639 (~> 0.2.8)
  jbuilder (~> 2.11, >= 2.11.5)
  json-schema
  json_spec
  jwt (~> 2.5)
  knapsack_pro (~> 5.7)
  launchy (= 2.5.2)
  logging
  lograge (~> 0.12.0)
  logstash-event (~> 1.2, >= 1.2.02)
  lol_dba
  looker-sdk (~> 0.0.7)
  mail (~> 2.7.1)
  mailgun-ruby (~> 1.2, >= 1.2.10)
  makara (~> 0.5.1)
  mock_redis
  monetize (~> 1.12.0)
  naught
  nested_form (~> 0.3.2)
  net-imap (= 0.3.7)
  net-pop (= 0.1.2)
  net-smtp (= 0.3.3)
  netaddr (= 1.5.3)
  newrelic_rpm (~> 9.2, >= 9.2.2)
  nokogiri (= 1.13.10)
  oj (~> 3.7)
  omniauth
  omniauth-google-oauth2
  paint (~> 2.0.1)
  paper_trail (~> 13.0.0)
  paper_trail-association_tracking
  parallel_tests
  paranoia (~> 2.1)
  pg (~> 1.1)
  pry (~> 0.14.2)
  pry-byebug (~> 3.10.1)
  puma (~> 4.3.12)
  racecar (~> 2.8.2)
  rack (~> 2.1.0)
  rack-cache
  rack-cors (~> 2.0.0)
  rack-mini-profiler
  rack-oauth2 (~> 1.21.3)
  rack-proxy (~> 0.6.5)
  railroady
  rails (~> 6.1.7)
  rails-controller-testing
  rails-erd (= 1.5.2)
  rails-observers (~> 0.1.2)
  raindrops (~> 0.19.0)
  rbtrace (~> 0.4.14)
  rchardet19 (~> 1.3.5)
  redcarpet (~> 3.5.1)
  redis (~> 4.1)
  redis-rails (~> 5.0.2)
  reek
  request_store (~> 1.4, >= 1.4.1)
  request_store-sidekiq (~> 0.1.0)
  rest-client (~> 2.0.2)
  rspec-activemodel-mocks
  rspec-rails
  rspec_junit_formatter
  rubocop
  rubocop-performance
  rubocop-rails
  rubocop-rspec
  ruby-filemagic (~> 0.7.2)
  ruby-saml (~> 1.0.0)
  rubyntlm (~> 0.6.1)
  rubyzip (~> 1.3.0)
  rufus-scheduler (~> 3.5.0)
  sanitize_email (~> 2.0)
  sass (~> 3.5.6)
  savon (~> 2.11.1)
  scientist (~> 1.2.0)
  secure_headers (~> 6.5)
  selenium-webdriver (= 3.142.7)
  settingslogic (~> 2.0.9)
  shoulda
  sidekiq (~> 5.2)
  sidekiq-ent!
  sidekiq-pro!
  sidekiq-status
  simplecov
  simplecov-lcov
  slack-ruby-client
  slack_mrkdwn (~> 2.2)
  slim-rails (~> 3.1.0)
  spring (~> 2)
  spring-commands-cucumber
  spring-commands-rspec
  sprockets (< 4)
  timecop (= 0.9.4)
  trimmable
  useragent (~> 0.16.10)
  uuidtools (~> 2.1.3)
  virtus (~> 1.0, >= 1.0.5)
  webdrivers (= 4.7.0)
  webmock (~> 3.19, >= 3.19.1)
  will_paginate (~> 4)
  zipkin-tracer (~> 0.39.1)
  zipline (~> 1.4.0)

BUNDLED WITH
   2.4.16

--- TEMPLATE END ----------------------------------------------------------------

Unfortunately, an unexpected error occurred, and Bundler cannot continue.

First, try this link to see if there are any existing issue reports for this error:
https://github.com/rubygems/rubygems/search?q=dlopen%28%2FUsers%2Fc%2F.rbenv%2Fversions%2F3.2.2%2Flib%2Fruby%2F3.2.0%2Fx86_64-darwin22%2Fzlib.bundle%2C+0x0009%29++Library+not+loaded++libz.1.dylib&type=Issues

If there aren't any reports for this error yet, please fill in the new issue form located at https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md, and copy and paste the report template above in there.

@jcburley
Copy link

@postmodern — following up on the above comment, this output might help. Note that I'd already cleaned up /usr/local/lib/ earlier, removing everything found by an earlier brew doctor run — but I don't know why nor how that listed libz.1.2.11.dylib file appeared/reappeared.

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  [email protected]

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/libz.1.2.11.dylib

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/ares.h
  /usr/local/include/ares_build.h
  /usr/local/include/ares_dns.h
  /usr/local/include/ares_rules.h
  /usr/local/include/ares_version.h
  /usr/local/include/google/protobuf/compiler/java/java_names.h
  /usr/local/include/google/protobuf/compiler/js/js_generator.h
  /usr/local/include/google/protobuf/compiler/js/well_known_types_embed.h
  /usr/local/include/google/protobuf/generated_message_table_driven.h
  /usr/local/include/grpc++/impl/codegen/core_codegen.h
  /usr/local/include/grpc++/impl/codegen/core_codegen_interface.h
  /usr/local/include/grpc++/impl/codegen/grpc_library.h
  /usr/local/include/grpc/event_engine/slice_allocator.h
  /usr/local/include/grpc/impl/codegen/gpr_slice.h
  /usr/local/include/grpcpp/impl/codegen/core_codegen.h
  /usr/local/include/grpcpp/impl/codegen/core_codegen_interface.h
  /usr/local/include/grpcpp/impl/codegen/grpc_library.h
  /usr/local/include/zconf.h
  /usr/local/include/zlib.h

Warning: Unbrewed '.pc' files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected '.pc' files:
  /usr/local/lib/pkgconfig/absl_absl_algorithm.pc
  /usr/local/lib/pkgconfig/absl_absl_algorithm_container.pc
  /usr/local/lib/pkgconfig/absl_absl_any.pc
  /usr/local/lib/pkgconfig/absl_absl_atomic_hook.pc
  /usr/local/lib/pkgconfig/absl_absl_bad_any_cast.pc
  /usr/local/lib/pkgconfig/absl_absl_bad_any_cast_impl.pc
  /usr/local/lib/pkgconfig/absl_absl_bad_optional_access.pc
  /usr/local/lib/pkgconfig/absl_absl_bad_variant_access.pc
  /usr/local/lib/pkgconfig/absl_absl_base.pc
  /usr/local/lib/pkgconfig/absl_absl_base_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_bind_front.pc
  /usr/local/lib/pkgconfig/absl_absl_bits.pc
  /usr/local/lib/pkgconfig/absl_absl_btree.pc
  /usr/local/lib/pkgconfig/absl_absl_city.pc
  /usr/local/lib/pkgconfig/absl_absl_civil_time.pc
  /usr/local/lib/pkgconfig/absl_absl_compare.pc
  /usr/local/lib/pkgconfig/absl_absl_compressed_tuple.pc
  /usr/local/lib/pkgconfig/absl_absl_config.pc
  /usr/local/lib/pkgconfig/absl_absl_container_common.pc
  /usr/local/lib/pkgconfig/absl_absl_container_memory.pc
  /usr/local/lib/pkgconfig/absl_absl_cord.pc
  /usr/local/lib/pkgconfig/absl_absl_core_headers.pc
  /usr/local/lib/pkgconfig/absl_absl_counting_allocator.pc
  /usr/local/lib/pkgconfig/absl_absl_debugging.pc
  /usr/local/lib/pkgconfig/absl_absl_debugging_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_demangle_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_dynamic_annotations.pc
  /usr/local/lib/pkgconfig/absl_absl_endian.pc
  /usr/local/lib/pkgconfig/absl_absl_errno_saver.pc
  /usr/local/lib/pkgconfig/absl_absl_examine_stack.pc
  /usr/local/lib/pkgconfig/absl_absl_exponential_biased.pc
  /usr/local/lib/pkgconfig/absl_absl_failure_signal_handler.pc
  /usr/local/lib/pkgconfig/absl_absl_fast_type_id.pc
  /usr/local/lib/pkgconfig/absl_absl_fixed_array.pc
  /usr/local/lib/pkgconfig/absl_absl_flags.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_commandlineflag.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_commandlineflag_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_config.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_marshalling.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_parse.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_path_util.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_private_handle_accessor.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_program_name.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_reflection.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_usage.pc
  /usr/local/lib/pkgconfig/absl_absl_flags_usage_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_flat_hash_map.pc
  /usr/local/lib/pkgconfig/absl_absl_flat_hash_set.pc
  /usr/local/lib/pkgconfig/absl_absl_function_ref.pc
  /usr/local/lib/pkgconfig/absl_absl_graphcycles_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_hash.pc
  /usr/local/lib/pkgconfig/absl_absl_hash_function_defaults.pc
  /usr/local/lib/pkgconfig/absl_absl_hash_policy_traits.pc
  /usr/local/lib/pkgconfig/absl_absl_hashtable_debug.pc
  /usr/local/lib/pkgconfig/absl_absl_hashtable_debug_hooks.pc
  /usr/local/lib/pkgconfig/absl_absl_hashtablez_sampler.pc
  /usr/local/lib/pkgconfig/absl_absl_have_sse.pc
  /usr/local/lib/pkgconfig/absl_absl_inlined_vector.pc
  /usr/local/lib/pkgconfig/absl_absl_inlined_vector_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_int128.pc
  /usr/local/lib/pkgconfig/absl_absl_kernel_timeout_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_layout.pc
  /usr/local/lib/pkgconfig/absl_absl_leak_check.pc
  /usr/local/lib/pkgconfig/absl_absl_leak_check_disable.pc
  /usr/local/lib/pkgconfig/absl_absl_log_severity.pc
  /usr/local/lib/pkgconfig/absl_absl_malloc_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_memory.pc
  /usr/local/lib/pkgconfig/absl_absl_meta.pc
  /usr/local/lib/pkgconfig/absl_absl_node_hash_map.pc
  /usr/local/lib/pkgconfig/absl_absl_node_hash_policy.pc
  /usr/local/lib/pkgconfig/absl_absl_node_hash_set.pc
  /usr/local/lib/pkgconfig/absl_absl_numeric.pc
  /usr/local/lib/pkgconfig/absl_absl_numeric_representation.pc
  /usr/local/lib/pkgconfig/absl_absl_optional.pc
  /usr/local/lib/pkgconfig/absl_absl_periodic_sampler.pc
  /usr/local/lib/pkgconfig/absl_absl_pretty_function.pc
  /usr/local/lib/pkgconfig/absl_absl_random_bit_gen_ref.pc
  /usr/local/lib/pkgconfig/absl_absl_random_distributions.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_distribution_caller.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_distribution_test_util.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_fast_uniform_bits.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_fastmath.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_generate_real.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_iostream_state_saver.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_mock_helpers.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_nonsecure_base.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_pcg_engine.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_platform.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_pool_urbg.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_randen.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_randen_engine.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_randen_hwaes.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_randen_hwaes_impl.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_randen_slow.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_salted_seed_seq.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_seed_material.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_traits.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_uniform_helper.pc
  /usr/local/lib/pkgconfig/absl_absl_random_internal_wide_multiply.pc
  /usr/local/lib/pkgconfig/absl_absl_random_random.pc
  /usr/local/lib/pkgconfig/absl_absl_random_seed_gen_exception.pc
  /usr/local/lib/pkgconfig/absl_absl_random_seed_sequences.pc
  /usr/local/lib/pkgconfig/absl_absl_raw_hash_map.pc
  /usr/local/lib/pkgconfig/absl_absl_raw_hash_set.pc
  /usr/local/lib/pkgconfig/absl_absl_raw_logging_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_scoped_set_env.pc
  /usr/local/lib/pkgconfig/absl_absl_span.pc
  /usr/local/lib/pkgconfig/absl_absl_spinlock_wait.pc
  /usr/local/lib/pkgconfig/absl_absl_stacktrace.pc
  /usr/local/lib/pkgconfig/absl_absl_status.pc
  /usr/local/lib/pkgconfig/absl_absl_statusor.pc
  /usr/local/lib/pkgconfig/absl_absl_str_format.pc
  /usr/local/lib/pkgconfig/absl_absl_str_format_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_strerror.pc
  /usr/local/lib/pkgconfig/absl_absl_strings.pc
  /usr/local/lib/pkgconfig/absl_absl_strings_internal.pc
  /usr/local/lib/pkgconfig/absl_absl_symbolize.pc
  /usr/local/lib/pkgconfig/absl_absl_synchronization.pc
  /usr/local/lib/pkgconfig/absl_absl_throw_delegate.pc
  /usr/local/lib/pkgconfig/absl_absl_time.pc
  /usr/local/lib/pkgconfig/absl_absl_time_zone.pc
  /usr/local/lib/pkgconfig/absl_absl_type_traits.pc
  /usr/local/lib/pkgconfig/absl_absl_utility.pc
  /usr/local/lib/pkgconfig/absl_absl_variant.pc
  /usr/local/lib/pkgconfig/absl_absl_wyhash.pc
  /usr/local/lib/pkgconfig/libcares.pc

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  c-ares
  emacs

Warning: Broken symlinks were found. Remove them with `brew cleanup`:
  /usr/local/bin/go
  /usr/local/bin/gofmt
  /usr/local/etc/bash_completion.d/brew-services
  /usr/local/lib/ruby/gems/2.7.0/bin/bundle
  /usr/local/lib/ruby/gems/2.7.0/bin/bundler
  /usr/local/share/zsh/site-functions/_brew_services
$

Since the problems I'm having seem to revolve around libz, here's some more output that might help someone figure out what's going wrong on my system:

$ ll /usr/local/lib/libz*
-rwxr-xr-x  1 c  admin  155520 Dec  7  2021 /usr/local/lib/libz.1.2.11.dylib
lrwxr-xr-x  1 c  admin      17 Dec  7  2021 /usr/local/lib/libz.1.dylib -> libz.1.2.11.dylib
lrwxr-xr-x  1 c  admin      12 Dec  7  2021 /usr/local/lib/libz.dylib -> libz.1.dylib
lrwxr-xr-x  1 c  admin      44 Oct 26 19:27 /usr/local/lib/libz3.4.12.2.0.dylib -> ../Cellar/z3/4.12.2/lib/libz3.4.12.2.0.dylib
lrwxr-xr-x  1 c  admin      40 Oct 26 19:27 /usr/local/lib/libz3.4.12.dylib -> ../Cellar/z3/4.12.2/lib/libz3.4.12.dylib
lrwxr-xr-x  1 c  admin      35 Oct 26 19:27 /usr/local/lib/libz3.dylib -> ../Cellar/z3/4.12.2/lib/libz3.dylib
lrwxr-xr-x  1 c  admin      42 Oct 26 15:49 /usr/local/lib/libzlibstatic.a -> ../Cellar/assimp/5.3.1/lib/libzlibstatic.a
lrwxr-xr-x  1 c  admin      44 Oct 26 15:49 /usr/local/lib/libzstd.1.5.5.dylib -> ../Cellar/zstd/1.5.5/lib/libzstd.1.5.5.dylib
lrwxr-xr-x  1 c  admin      40 Oct 26 15:49 /usr/local/lib/libzstd.1.dylib -> ../Cellar/zstd/1.5.5/lib/libzstd.1.dylib
lrwxr-xr-x  1 c  admin      34 Oct 26 15:49 /usr/local/lib/libzstd.a -> ../Cellar/zstd/1.5.5/lib/libzstd.a
lrwxr-xr-x  1 c  admin      38 Oct 26 15:49 /usr/local/lib/libzstd.dylib -> ../Cellar/zstd/1.5.5/lib/libzstd.dylib
$

@monfresh
Copy link

@jcburley I copied your Gemfile and was successfully able to install all gems (minus enterprise sidekiq) with Ruby 3.2.2 on both my MacBook Air M1 and Intel iMac. I also tried it with your Gemfile.lock and everything installed just fine. The only thing I didn't already have was libmagic, and all I needed to do was brew install libmagic.

As I mentioned in the ruby-build thread, the issues you are seeing are 100% due to your broken development setup, as brew doctor is telling you. Whatever you did to clean out /usr/local/lib/ is clearly not enough. The best way to resolve these issues is to start over with a completely clean slate and then only reinstall the things you know for sure you need.

Another thing I noticed is that your namely project has a .bundle/config that's using --with-cppflags for the thrift gem. I think this is a different project than the one you posted the Gemfile for because I don't see thrift in the Gemfile.lock, but I wanted to point out that setting compilation flags is another common source of issues.

Given that your Gemfile has Enterprise Sidekiq, I'm assuming you need to get this app running for your job. In that case, I would think that your manager would prefer to spend $129 to get you up and running in about 15 minutes with Ruby on Mac rather than have you waste more time on this, given that you've already spent a few days trying to get set up.

@jcburley
Copy link

@monfresh — thanks for looking further into this. As I've already (I believe?) replied to you on a different thread, I'm (finally!!) unblocked. brew doctor pointed the way (probably stale /lusr/local/lib/libz* entries from late 2021, which I deleted).

I'll look into that thrift issue you identified. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants