Tweaks when updating instance to Ruby 2.2.2

Skip to first unread message

Dan Sadaka

May 10, 2016, 8:17:34 PM5/10/16
to rubber
I just updated an instance from ruby 1.9.3 to 2.2.2.

I had two issues during cap rubber:bootstrap and I had to tweak the config files to resolve:

I. fastthread gem would not compile: unintialized constant Config
Cause: Ruby 2.2 no longer using Config (replaced by RbConfig)
Resolution: remove fastthread from gem dependency in rubber-passenger.yml

    gems: [fastthread, rack, [passenger, "#{passenger_version}"]]

changed to 

    gems: [rack, [passenger, "#{passenger_version}"]]

Fortunately, passenger hasn't required fastthread since 4.0

II. Invalid apache configuration

Message:    WARNING:

      The configuration file seems to be broken! Please double-check it by running:

      /usr/sbin/apache2ctl -t

Upon inspection of /etc/apache2/mods-enabled/passenger.conf I noticed that passenger_root was not correct (it was blank actually).  Looks like the find command intended to determine passenger_root (in config/rubber/rubber-passenger.yml) returned TWO directories instead of one. I made the following change:

passenger_root: "#{`bash -l -c 'find #{ruby_path} -name passenger-#{passenger_version}'`.strip}"

changed to:

passenger_root: "#{`bash -l -c 'find #{ruby_path} -name passenger-#{passenger_version} | grep -v extensions'`.strip}"
Reply all
Reply to author
0 new messages