The dependency of bigdecimal ~> 1.3.5 fails on modern Ruby installations (I am running Amazon Linux 2023 with this toolkit and decided not to unpack a binary this time and install the gem). I have Ruby 3.2 and get the following execution failure:
[ec2-user@ip-172-xx-xx-xx ~]$ aptible
<internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require': /usr/local/lib64/gems/ruby3.2/bigdecimal-1.3.5/bigdecimal.so: undefined symbol: rb_check_safe_obj - /usr/local/lib64/gems/ruby3.2/bigdecimal-1.3.5/bigdecimal.so (LoadError)
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/share/ruby3.2/bigdecimal.rb:1:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/activesupport-5.2.8.1/lib/active_support/xml_mini.rb:5:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext/array/conversions.rb:3:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext/array.rb:5:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext.rb:4:in `block in <top (required)>'
from /usr/local/share/ruby3.2-gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext.rb:3:in `each'
from /usr/local/share/ruby3.2-gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext.rb:3:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-resource-1.1.4/lib/aptible/resource/base.rb:5:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-resource-1.1.4/lib/aptible/resource.rb:2:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-auth-1.5.0/lib/aptible/auth/resource.rb:1:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-auth-1.5.0/lib/aptible/auth.rb:19:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-cli-0.26.6/lib/aptible/cli/agent.rb:5:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-cli-0.26.6/lib/aptible/cli.rb:4:in `<top (required)>'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/share/ruby3.2-rubygems/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/local/share/ruby3.2-gems/gems/aptible-cli-0.26.6/bin/aptible:4:in `<top (required)>'
from /usr/local/bin/aptible:25:in `load'
from /usr/local/bin/aptible:25:in `<main>'
However, I discovered it is an easy fix, I just hacked the gemspec here:
/usr/local/share/ruby3.2-gems/specifications/aptible-cli-0.26.6.gemspec
To use bigdecimal ~-> 3.1.3 (already installed), it seems the script works just fine. Is there a reason you cannot upgrade that dependency to a more modern version?
The dependency of
bigdecimal ~> 1.3.5fails on modern Ruby installations (I am running Amazon Linux 2023 with this toolkit and decided not to unpack a binary this time and install the gem). I have Ruby 3.2 and get the following execution failure:However, I discovered it is an easy fix, I just hacked the
gemspechere:To use
bigdecimal ~-> 3.1.3(already installed), it seems the script works just fine. Is there a reason you cannot upgrade that dependency to a more modern version?