Issue with Ruby 3.3.0 site on Rocky 10 (zlib error)

  system
  2.5.8
  3.1.2
* 3.3.0 (set by /var/www/chess_hair/.ruby-version)

[inimical@p115 chess_hair]$ bundle install

Bundler 2.5.3 is running, but your lockfile was generated with 2.5.11. Installing Bundler 2.5.11 and restarting using that version.
Required ruby-3.3.0 is not installed.
Your Gemfile lists the gem tzinfo-data (>= 0) more than once.
You should probably keep only one of them.
Remove any duplicate entries and specify the gem only once.
While it's not a problem now, it could cause errors if you change the version of one of them later.
--- ERROR REPORT TEMPLATE -------------------------------------------------------

LoadError: cannot load such file -- zlib
  <internal:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:127:in `require'
          <internal:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:127:in `require'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/fetcher.rb:7:in `<top (required)>'
          <internal:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:127:in `require'
          <internal:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:127:in `require'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:261:in `block in remote_fetchers'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:259:in `to_h'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:259:in `remote_fetchers'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:266:in `fetchers'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:408:in `block in remote_specs'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/index.rb:9:in `build'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:407:in `remote_specs'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/source/rubygems.rb:135:in `specs'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/self_manager.rb:124:in `remote_specs'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/self_manager.rb:132:in `find_latest_matching_spec'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/self_manager.rb:50:in `install_and_restart_with'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/self_manager.rb:28:in `install_locked_bundler_and_restart_with_it_if_needed'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/cli/install.rb:15:in `run'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/cli.rb:244:in `block in install'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/settings.rb:158:in `temporary'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/cli.rb:243:in `install'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/cli.rb:34:in `dispatch'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/cli.rb:28:in `start'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.3/exe/bundle:28:in `block in <top (required)>'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
          /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.3/exe/bundle:20:in `<top (required)>'
          /home/inimical/ruby/gems/bin/bundle:25:in `load'
          /home/inimical/ruby/gems/bin/bundle:25:in `<main>'

Environment

Bundler       2.5.3
  Platforms   ruby, x86_64-linux
Ruby          3.3.0p0 (2023-12-25 revision 5124f9ac7513eb590c37717337c430cb93caa151) [x86_64-linux]
  Full Path   /usr/local/share/ruby/rbenv/versions/3.3.0/bin/ruby
  Config Dir  /usr/local/share/ruby/rbenv/versions/3.3.0/etc
RubyGems      3.5.3
  Gem Home    /usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/gems/3.3.0
  Gem Path    /home/inimical/.local/share/gem/ruby/3.3.0:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/gems/3.3.0
  User Home   /home/inimical
  User Path   /home/inimical/.local/share/gem/ruby/3.3.0
  Bin Dir     /usr/local/share/ruby/rbenv/versions/3.3.0/bin
OpenSSL       
  Compiled    OpenSSL 3.5.1 1 Jul 2025
  Loaded      OpenSSL 3.5.1 1 Jul 2025
  Cert File   /etc/pki/tls/cert.pem
  Cert Dir    /etc/pki/tls/certs
Tools         
  Git         2.47.3
  RVM         To install do: 'rvm install "ruby-3.3.0"'
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
  rbenv       rbenv 1.1.2
  chruby      not installed

Bundler Build Metadata

Built At          2026-02-09
Git SHA           unknown
Released Version  false

Gemfile

Gemfile

source "https://rubygems.org"

ruby "3.3.10"

# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.1.3", ">= 7.1.3.4"

# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem "sprockets-rails"

# Use postgresql as the database for Active Record
gem "pg", "~> 1.1"

gem 'sqlite3', "~> 1.4"

# Use the Puma web server [https://github.com/puma/puma]
gem "puma", ">= 5.0"

# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem "importmap-rails"

# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder"

# Use Redis adapter to run Action Cable in production
gem "redis", ">= 4.0.1"

# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"

# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
gem "bcrypt", "~> 3.1.7"

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[ windows jruby ]

# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false

gem 'passenger'

gem 'tzinfo-data'

# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"

group :development, :test do
  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
  gem "debug", platforms: %i[ mri windows ]
  gem 'bullet'
  gem 'rack-mini-profiler', require: false
  gem 'rubocop', require: false
end

group :test do
  gem 'timecop'
  gem 'shoulda-matchers'
end

group :development do
  # Use console on exceptions pages [https://github.com/rails/web-console]
  gem "web-console"
  gem 'rspec-rails'
  gem 'factory_bot_rails'
  gem 'faker'

  # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
  # gem "rack-mini-profiler"

  # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
  # gem "spring"
end

group :production do
  gem 'rack', '~> 2.2' # Passenger does not support rack 3
end

gem "devise", "~> 4.9"

Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    actioncable (7.1.3.4)
      actionpack (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
      zeitwerk (~> 2.6)
    actionmailbox (7.1.3.4)
      actionpack (= 7.1.3.4)
      activejob (= 7.1.3.4)
      activerecord (= 7.1.3.4)
      activestorage (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      mail (>= 2.7.1)
      net-imap
      net-pop
      net-smtp
    actionmailer (7.1.3.4)
      actionpack (= 7.1.3.4)
      actionview (= 7.1.3.4)
      activejob (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      mail (~> 2.5, >= 2.5.4)
      net-imap
      net-pop
      net-smtp
      rails-dom-testing (~> 2.2)
    actionpack (7.1.3.4)
      actionview (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      nokogiri (>= 1.8.5)
      racc
      rack (>= 2.2.4)
      rack-session (>= 1.0.1)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    actiontext (7.1.3.4)
      actionpack (= 7.1.3.4)
      activerecord (= 7.1.3.4)
      activestorage (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      globalid (>= 0.6.0)
      nokogiri (>= 1.8.5)
    actionview (7.1.3.4)
      activesupport (= 7.1.3.4)
      builder (~> 3.1)
      erubi (~> 1.11)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    activejob (7.1.3.4)
      activesupport (= 7.1.3.4)
      globalid (>= 0.3.6)
    activemodel (7.1.3.4)
      activesupport (= 7.1.3.4)
    activerecord (7.1.3.4)
      activemodel (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      timeout (>= 0.4.0)
    activestorage (7.1.3.4)
      actionpack (= 7.1.3.4)
      activejob (= 7.1.3.4)
      activerecord (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      marcel (~> 1.0)
    activesupport (7.1.3.4)
      base64
      bigdecimal
      concurrent-ruby (~> 1.0, >= 1.0.2)
      connection_pool (>= 2.2.5)
      drb
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      mutex_m
      tzinfo (~> 2.0)
    ast (2.4.2)
    base64 (0.2.0)
    bcrypt (3.1.20)
    bigdecimal (3.1.8)
    bindex (0.8.1)
    bootsnap (1.18.3)
      msgpack (~> 1.2)
    builder (3.2.4)
    bullet (7.2.0)
      activesupport (>= 3.0.0)
      uniform_notifier (~> 1.11)
    concurrent-ruby (1.3.1)
    connection_pool (2.4.1)
    crass (1.0.6)
    date (3.3.4)
    debug (1.9.2)
      irb (~> 1.10)
      reline (>= 0.3.8)
    devise (4.9.4)
      bcrypt (~> 3.0)
      orm_adapter (~> 0.1)
      railties (>= 4.1.0)
      responders
      warden (~> 1.2.3)
    diff-lcs (1.5.1)
    drb (2.2.1)
    erubi (1.12.0)
    factory_bot (6.4.6)
      activesupport (>= 5.0.0)
    factory_bot_rails (6.4.3)
      factory_bot (~> 6.4)
      railties (>= 5.0.0)
    faker (3.4.2)
      i18n (>= 1.8.11, < 2)
    globalid (1.2.1)
      activesupport (>= 6.1)
    i18n (1.14.5)
      concurrent-ruby (~> 1.0)
    importmap-rails (2.0.1)
      actionpack (>= 6.0.0)
      activesupport (>= 6.0.0)
      railties (>= 6.0.0)
    io-console (0.7.2)
    irb (1.13.1)
      rdoc (>= 4.0.0)
      reline (>= 0.4.2)
    jbuilder (2.12.0)
      actionview (>= 5.0.0)
      activesupport (>= 5.0.0)
    json (2.7.2)
    language_server-protocol (3.17.0.3)
    loofah (2.22.0)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    mail (2.8.1)
      mini_mime (>= 0.1.1)
      net-imap
      net-pop
      net-smtp
    marcel (1.0.4)
    mini_mime (1.1.5)
    minitest (5.23.1)
    msgpack (1.7.2)
    mutex_m (0.2.0)
    net-imap (0.4.12)
      date
      net-protocol
    net-pop (0.1.2)
      net-protocol
    net-protocol (0.2.2)
      timeout
    net-smtp (0.5.0)
      net-protocol
    nio4r (2.7.3)
    nokogiri (1.16.5-arm64-darwin)
      racc (~> 1.4)
    nokogiri (1.16.5-x86_64-linux)
      racc (~> 1.4)
    orm_adapter (0.5.0)
    parallel (1.26.3)
    parser (3.3.4.2)
      ast (~> 2.4.1)
      racc
    passenger (6.0.22)
      rack
      rake (>= 0.8.1)
    pg (1.5.6)
    psych (5.1.2)
      stringio
    puma (6.4.2)
      nio4r (~> 2.0)
    racc (1.8.0)
    rack (2.2.9)
    rack-mini-profiler (3.3.1)
      rack (>= 1.2.0)
    rack-session (1.0.2)
      rack (< 3)
    rack-test (2.1.0)
      rack (>= 1.3)
    rackup (1.0.0)
      rack (< 3)
      webrick
    rails (7.1.3.4)
      actioncable (= 7.1.3.4)
      actionmailbox (= 7.1.3.4)
      actionmailer (= 7.1.3.4)
      actionpack (= 7.1.3.4)
      actiontext (= 7.1.3.4)
      actionview (= 7.1.3.4)
      activejob (= 7.1.3.4)
      activemodel (= 7.1.3.4)
      activerecord (= 7.1.3.4)
      activestorage (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      bundler (>= 1.15.0)
      railties (= 7.1.3.4)
    rails-dom-testing (2.2.0)
      activesupport (>= 5.0.0)
      minitest
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.6.0)
      loofah (~> 2.21)
      nokogiri (~> 1.14)
    railties (7.1.3.4)
      actionpack (= 7.1.3.4)
      activesupport (= 7.1.3.4)
      irb
      rackup (>= 1.0.0)
      rake (>= 12.2)
      thor (~> 1.0, >= 1.2.2)
      zeitwerk (~> 2.6)
    rainbow (3.1.1)
    rake (13.2.1)
    rdoc (6.7.0)
      psych (>= 4.0.0)
    redis (5.2.0)
      redis-client (>= 0.22.0)
    redis-client (0.22.2)
      connection_pool
    regexp_parser (2.9.2)
    reline (0.5.8)
      io-console (~> 0.5)
    responders (3.1.1)
      actionpack (>= 5.2)
      railties (>= 5.2)
    rexml (3.3.6)
      strscan
    rspec-core (3.13.0)
      rspec-support (~> 3.13.0)
    rspec-expectations (3.13.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-mocks (3.13.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-rails (6.1.3)
      actionpack (>= 6.1)
      activesupport (>= 6.1)
      railties (>= 6.1)
      rspec-core (~> 3.13)
      rspec-expectations (~> 3.13)
      rspec-mocks (~> 3.13)
      rspec-support (~> 3.13)
    rspec-support (3.13.1)
    rubocop (1.65.1)
      json (~> 2.3)
      language_server-protocol (>= 3.17.0)
      parallel (~> 1.10)
      parser (>= 3.3.0.2)
      rainbow (>= 2.2.2, < 4.0)
      regexp_parser (>= 2.4, < 3.0)
      rexml (>= 3.2.5, < 4.0)
      rubocop-ast (>= 1.31.1, < 2.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (>= 2.4.0, < 3.0)
    rubocop-ast (1.32.1)
      parser (>= 3.3.1.0)
    ruby-progressbar (1.13.0)
    shoulda-matchers (6.4.0)
      activesupport (>= 5.2.0)
    sprockets (4.2.1)
      concurrent-ruby (~> 1.0)
      rack (>= 2.2.4, < 4)
    sprockets-rails (3.5.1)
      actionpack (>= 6.1)
      activesupport (>= 6.1)
      sprockets (>= 3.0.0)
    sqlite3 (1.7.3-arm64-darwin)
    sqlite3 (1.7.3-x86_64-linux)
    stringio (3.1.0)
    strscan (3.1.0)
    thor (1.3.1)
    timecop (0.9.10)
    timeout (0.4.1)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    tzinfo-data (1.2025.1)
      tzinfo (>= 1.0.0)
    unicode-display_width (2.5.0)
    uniform_notifier (1.16.0)
    warden (1.2.9)
      rack (>= 2.0.9)
    web-console (4.2.1)
      actionview (>= 6.0.0)
      activemodel (>= 6.0.0)
      bindex (>= 0.4.0)
      railties (>= 6.0.0)
    webrick (1.8.1)
    websocket-driver (0.7.6)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    zeitwerk (2.6.15)

PLATFORMS
  arm64-darwin-23
  arm64-darwin-25
  x86_64-linux

DEPENDENCIES
  bcrypt (~> 3.1.7)
  bootsnap
  bullet
  debug
  devise (~> 4.9)
  factory_bot_rails
  faker
  importmap-rails
  jbuilder
  passenger
  pg (~> 1.1)
  puma (>= 5.0)
  rack (~> 2.2)
  rack-mini-profiler
  rails (~> 7.1.3, >= 7.1.3.4)
  redis (>= 4.0.1)
  rspec-rails
  rubocop
  shoulda-matchers
  sprockets-rails
  sqlite3 (~> 1.4)
  timecop
  tzinfo-data
  web-console

RUBY VERSION
   ruby 3.3.10p183

BUNDLED WITH
   2.5.11
--- 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=cannot+load+such+file+--+zlib&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.

This looks like an fst issue…

[inimical@p115 chess_hair]$ ruby -rzlib -e 'puts :zlib'
<internal:/usr/local/share/ruby/rbenv/versions/3.3.10/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require': cannot load such file -- zlib (LoadError)
        from <internal:/usr/local/share/ruby/rbenv/versions/3.3.10/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
[root@p115 ~]# ruby -rzlib -e 'puts :zlib'
zlib
/usr/local/apnscp/bin/scripts/yum-post.php install zlib-ng-compat-devel ssh
systemctl reload fsmount

Then try again. Looks like zlib was renamed to zlib-ng-compat + zlib-ng-compat-devel. /usr/include/zlib.h is missing from the vfs.

That’s what I’ve found too, but that command doesn’t seem to fix it.

[root@p115 ~]# /usr/local/apnscp/bin/scripts/yum-post.php install zlib-ng-compat-devel ssh
[root@p115 ~]# systemctl reload fsmount
[root@p115 ~]# su site179
[inimical@p115 /]$ ruby -rzlib -e 'puts :zlib'
<internal:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:127:in `require': cannot load such file -- zlib (LoadError)
        from <internal:/usr/local/share/ruby/rbenv/versions/3.3.0/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:127:in `require'

I’d advise rebuilding Ruby as those compile-time features are auto-detected as part of the configure process, i.e.

# su site3
[test@localhost /]$ rbenv install 3.3.0
==> Downloading ruby-3.3.0.tar.gz...
-> curl -q -fL -o ruby-3.3.0.tar.gz https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 21.0M  100 21.0M    0     0  12.9M      0  0:00:01  0:00:01 --:--:-- 12.9M
==> Installing ruby-3.3.0...
-> ./configure --prefix=/usr/local/share/ruby/rbenv/versions/3.3.0 --enable-shared --with-ext=openssl,psych,+
-> make -j 8
-> make install
==> Installed ruby-3.3.0 to /usr/local/share/ruby/rbenv/versions/3.3.0
[test@localhost /]$ ruby -rzlib -e 'puts :zlib'
zlib

Thanks Matt

May not be fully solved…

Even though I used rbenv local 3.3.0 the app still says ruby-3.3.0 isn’t installed and to use rvm install ruby-3.3.0

What else am I missing here?

[inimical@p115 chess_hair]$ rvm install ruby-3.3.0
Required ruby-3.3.0 is not installed.
To install do: 'rvm install "ruby-3.3.0"'
Searching for binary rubies, this might take some time.
No binary rubies available for: unknown/libc-2.39/x86_64/ruby-3.3.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for unknown.
Install: 

RVM was not able to detect your system type and does not know how to load extra library paths for your system (if it's needed), read:

    rvm help autolibs

for details how to disable this message.

Requirements installation failed with status: 1.

FWIW, 3.3.10 works fine, but the app doesn’t start so that’s a different issue.
3.3.10 doesn’t show the same warning or error as 3.3.0.

And finally, Passenger doesn’t seem to be picking up the right version, even though the shim version confirms it’s 3.3.10.

I know that 2.5.8 is installed but it’s not being used for this app.
Earlier before reinstalling and fixing the zlib issue, was showing 3.3.0 in that path.

.htaccess

PassengerRuby /home/inimical/.rbenv-usergems/shims/ruby
PassengerEnabled On
PassengerBaseURI /var/www/chess_hair/public
PassengerAppRoot /var/www/chess_hair
PassengerAppEnv production

...
[inimical@p115 chess_hair]$ cat .ruby-version 
3.3.10
[inimical@p115 chess_hair]$ /home/inimical/.rbenv-usergems/shims/ruby -v
ruby 3.3.10 (2025-10-23 revision 343ea05002) [x86_64-linux]

[ E 2026-02-09 19:16:47.7654 4277/Tg age/Cor/Con/CheckoutSession.cpp:283 ]: [Client 6-10] Cannot checkout session because a spawning error occurred. The identifier of the error is 8f514bde. Please see earlier logs for details about the error.
App 50421 stderr: *** ERROR ***: cannot assign to cgroup site179: Cgroup is not mountedno cgroup set! errno=1 errmsg=Cgroup is not mounted
App 50421 stdout: 
App 50421 stdout: 
[ E 2026-02-09 19:17:08.8965 4277/Tlb age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/virtual/site179/fst/var/www/chess_hair: An error occurred while starting up the preloader.
  Error ID: 3dc28578
  Error details saved to: /tmp/passenger-error-qzxhUM.html
  Message from application: cannot load such file -- bundler/setup (LoadError)
  /usr/local/share/ruby/rbenv/versions/2.5.8/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
  /usr/local/share/ruby/rbenv/versions/2.5.8/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
  /.socket/passenger/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:456:in `activate_gem'
  /.socket/passenger/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:323:in `block in run_load_path_setup_code'
  /.socket/passenger/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:461:in `running_bundler'
  /.socket/passenger/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:322:in `run_load_path_setup_code'
  /.socket/passenger/src/helper-scripts/rack-preloader.rb:100:in `preload_app'
  /.socket/passenger/src/helper-scripts/rack-preloader.rb:156:in `<module:App>'
  /.socket/passenger/src/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /.socket/passenger/src/helper-scripts/rack-preloader.rb:29:in `<main>'

rvm hasn’t been used in any public ApisCP platform. It’s rbenv.

For 3.3.0, it must be rebuilt. rbenv uninstall 3.3.0 ; rbenv install 3.3.0

Full rbenv usage is available via rbenv --help

I imagine once zlib is resolved, then rbenv exec bundler install should be done to rebuild all the gems thus satisfying app dependencies. You’re redoing everything from scratch after resolving the missing zlib.h header problem.

https://kb.apiscp.com/ruby/changing-ruby-versions/

It was at one point…

Is there anything to this?

Passenger still throws the same error.
The CLI error is gone, the rbenv exec bundler install worked fine after reinstalling ruby.

PRs are much appreciated.

It may be a changeover to single-writer in cgroupv2. I’ll make a note of it and look into it once time permits.

Try restarting Apache, systemctl restart httpd. I know Passenger caches launch metadata even if .htaccess rules change. Fork is available apisnetworks/passenger. I’ve never had time to dig through the intricacies of their launch engine to make requisite changes.


Please try to keep all thoughts composed to a single reply rather than approaching this as an impromptu chatroom. It really helps others follow along.

Dude, if I knew how to make all of this work, I wouldn’t be here posting.

Ok, in the meantime, what can I do to make Ruby work with Passenger?

No change, I’ve restarted apache and killed all site processes with no luck.

Not sure what to do with this… Is the passenger included with ApisCP not the same?

I can’t figure out why the Passenger page for the web app shows 2.5.8 (which is installed by default), The error indicates bundler can’t be found for that version which is fine since I’m trying to run 3.3.0 or 3.3.10 and for whatever reason the app won’t run and the Apache Passenger log shows the cgroup error.

I just need to get this working. I’m here asking for help because this all seems to be fairly ApisCP specific so other online resources aren’t super helpful. I’ve setup 2 ruby apps in the last 20 years and the last one was long enough ago I don’t remember how I got it working. I’m doing my best here but struggling.

KB was put under a FOSS license out of an abundance of necessity. I’m constrained by resources. PRs are always much appreciated because that end-user documentation falls off my plate, constantly.

Fork of 5.2.3.

I don’t know off the top of my head. Looking at a minimalist .htaccess that works for another Ruby client:

# cat public/.htaccess
PassengerEnabled on
PassengerAppRoot /var/www/oaktown
PassengerRuby /home/oaktown/.rbenv-usergems/shims/ruby

User is “oaktown”, app lives out of /var/www/oaktown. .htaccess is located in /var/www/oaktown/public. You’ll likely need to restart Apache per the metadata cache I noted earlier. PassengerBaseURI isn’t necessary to set here.

They can always run with puma then proxy direct to the backend for a quick fix. It reads like a path issue, possibly dropping the URI solves it.

I don’t know what my next 48 hours will look like in terms of availability, so go from there.

No amount of restarting, reinstalling worked.
I finally created a test account, copied the ruby app over, updated the environment config to allow the test hostname and it worked. So I knew it wasn’t the server or the app.

Removing /home/inimical/.ruby-version and /home/inimical/.rbenv-usergems and then reinstalling the gems fixed it.
I also updated the files in /home/inimical/.passenger with those from a new account for testing, that alone didn’t fix it but it can’t hurt. Some of the file sizes were different, so who knows …