[CentOS-devel] [opstools] How to support fluentd with ruby24?
Matthias Runge
mrunge at matthias-runge.de
Mon Dec 18 09:23:06 UTC 2017
On 16/12/17 05:51, Rich Megginson wrote:
>> So a fluentd-ruby24-scl package, a fluent-plugin-add-ruby24-scl
>> package, etc. etc.? That's going to be a non-starter.
>
> It is the only way. You cannot run ruby24 and load packages built for
> ruby 2.0 - running fluentd on a system which has rh-ruby24 installed:
>
> + exec /opt/rh/rh-ruby24/root/usr/bin/ruby /usr/bin/fluentd
> --no-supervisor -vv
> /opt/rh/rh-ruby24/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in
> `require': incompatible library version -
> /usr/share/gems/gems/yajl-ruby-1.3.1/lib/yajl/yajl.so (LoadError)
> from
> /opt/rh/rh-ruby24/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in
> `require'
> from /usr/share/gems/gems/yajl-ruby-1.3.1/lib/yajl.rb:1:in `<top
> (required)>'
>
> The gems in /usr/share/gems are installed via RPM and built with ruby 2.0.
>
> It might be possible to perform this conversion at runtime:
>
> - install fluentd from regular ruby 2.0 rpms normally
> - for each gem in /usr/share/gems
> rebuild using ruby24 into /opt/rh/rh-ruby24/root/usr/share
>
> but this is just piling hacks on top of more hacks
>
> I think we're going to need ruby24 branches for all of our common,
> collectd, and fluentd packages, and we're going to need some sort of
> mass conversion of all of those specs so that we can use them both with
> and without scl.
>
We could also go that route and build ruby 2.4 in opstools (+ rebuilding
all ruby-packages).
Not sure if we really want to do that.
Matthias
More information about the CentOS-devel
mailing list