I’m encountering an issue with upgrading Ruby on my Rocky Linux system. Specifically, there’s a conflict between Ruby 3.1 and PCS (Pacemaker/Corosync Configuration System).
Currently, PCS is working fine with libruby 3.0. However, due to vulnerabilities in Ruby 3.0, I need to upgrade to Ruby 3.1. The problem arises because PCS seems to require ruby-libs 3.0, which is preventing the upgrade.
Here’s a detailed breakdown of the steps I’ve taken and the issue I’m facing:
Uninstalled PCS: I initially removed PCS from the system to avoid any conflicts during the Ruby upgrade process.
Upgraded Ruby to 3.1: I successfully upgraded Ruby to version 3.1 without any issues.
Reinstalled PCS: Upon attempting to reinstall PCS, I encountered the following dependency error:
[root@space-000c29c16a7c admin]# rpm -Uvh *.rpm
warning: git-2.43.5-1.el9_4.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 350d275d: NOKEY
error: Failed dependencies:
libruby.so.3.0()(64bit) is needed by pcs-0.11.7-2.el9_4.x86_64
It looks like pcs with ruby3.1 is not available yet .
I am looking for advice or a workaround to resolve this dependency conflict. Has anyone else faced a similar issue or does anyone have suggestions on how to proceed? I need to maintain PCS functionality while ensuring that the system is secure with the latest Ruby version.
Any insights or guidance would be greatly appreciated.
If PCS is built against Ruby 3.0 then you cannot upgrade it. You either have to stick with Ruby 3.0 or find PCS that is built against Ruby 3.1.
Also, had you used corosync or pacemaker by what is available by default in Rocky Linux, it doesn’t even require libruby to be installed. Which you can see below:
[root@rocky9 ~]# dnf install corosync pacemaker --enablerepo=highavailability
Updating Subscription Management repositories.
Rocky Linux 9 BaseOS 102 kB/s | 4.1 kB 00:00
Rocky Linux 9 Extras 62 kB/s | 2.9 kB 00:00
Rocky Linux 9 CRB 71 kB/s | 4.5 kB 00:00
Rocky Linux 9 AppStream 79 kB/s | 4.5 kB 00:00
EPEL 9 50 kB/s | 2.3 kB 00:00
Dependencies resolved.
======================================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================================
Installing:
corosync x86_64 3.1.8-1.el9 highavailability 262 k
pacemaker x86_64 2.1.7-5.el9_4 highavailability 465 k
Installing dependencies:
bzip2 x86_64 1.0.8-8.el9 BaseOS 52 k
corosynclib x86_64 3.1.8-1.el9 AppStream 50 k
device-mapper-event x86_64 9:1.02.197-2.el9 BaseOS 33 k
device-mapper-event-libs x86_64 9:1.02.197-2.el9 BaseOS 31 k
device-mapper-persistent-data x86_64 1.0.9-3.el9_4 BaseOS 1.0 M
gssproxy x86_64 0.8.4-6.el9 BaseOS 108 k
keyutils x86_64 1.6.3-1.el9 BaseOS 72 k
libaio x86_64 0.3.111-13.el9 BaseOS 23 k
libev x86_64 4.33-5.el9 BaseOS 52 k
libknet1 x86_64 1.28-1.el9 CRB 79 k
libknet1-crypto-nss-plugin x86_64 1.28-1.el9 highavailability 16 k
libnfsidmap x86_64 1:2.5.4-25.el9 BaseOS 60 k
libnozzle1 x86_64 1.28-1.el9 highavailability 29 k
libpkgconf x86_64 1.7.3-10.el9 BaseOS 35 k
libqb x86_64 2.0.8-1.el9 AppStream 91 k
libverto-libev x86_64 0.3.2-3.el9 BaseOS 13 k
lvm2 x86_64 9:2.03.23-2.el9 BaseOS 1.5 M
lvm2-libs x86_64 9:2.03.23-2.el9 BaseOS 1.0 M
net-snmp-libs x86_64 1:5.9.1-13.el9 AppStream 740 k
nfs-utils x86_64 1:2.5.4-25.el9 BaseOS 429 k
pacemaker-cli x86_64 2.1.7-5.el9_4 highavailability 332 k
pacemaker-cluster-libs x86_64 2.1.7-5.el9_4 highavailability 128 k
pacemaker-libs x86_64 2.1.7-5.el9_4 highavailability 774 k
pacemaker-schemas noarch 2.1.7-5.el9_4 highavailability 80 k
perl-AutoLoader noarch 5.74-481.el9 AppStream 20 k
perl-B x86_64 1.80-481.el9 AppStream 178 k
perl-Carp noarch 1.50-460.el9 AppStream 29 k
perl-Class-Struct noarch 0.66-481.el9 AppStream 21 k
perl-Data-Dumper x86_64 2.174-462.el9 AppStream 55 k
perl-Digest noarch 1.19-4.el9 AppStream 25 k
perl-Digest-MD5 x86_64 2.58-4.el9 AppStream 36 k
perl-Encode x86_64 4:3.08-462.el9 AppStream 1.7 M
perl-Errno x86_64 1.30-481.el9 AppStream 13 k
perl-Exporter noarch 5.74-461.el9 AppStream 31 k
perl-Fcntl x86_64 1.13-481.el9 AppStream 19 k
perl-File-Basename noarch 2.85-481.el9 AppStream 16 k
perl-File-Path noarch 2.18-4.el9 AppStream 35 k
perl-File-Temp noarch 1:0.231.100-4.el9 AppStream 59 k
perl-File-stat noarch 1.09-481.el9 AppStream 16 k
perl-FileHandle noarch 2.03-481.el9 AppStream 14 k
perl-Getopt-Long noarch 1:2.52-4.el9 AppStream 60 k
perl-Getopt-Std noarch 1.12-481.el9 AppStream 14 k
perl-HTTP-Tiny noarch 0.076-462.el9 AppStream 53 k
perl-IO x86_64 1.43-481.el9 AppStream 85 k
perl-IO-Socket-IP noarch 0.41-5.el9 AppStream 42 k
perl-IO-Socket-SSL noarch 2.073-1.el9 AppStream 217 k
perl-IPC-Open3 noarch 1.21-481.el9 AppStream 21 k
perl-MIME-Base64 x86_64 3.16-4.el9 AppStream 30 k
perl-Mozilla-CA noarch 20200520-6.el9 AppStream 12 k
perl-Net-SSLeay x86_64 1.92-2.el9 AppStream 365 k
perl-POSIX x86_64 1.94-481.el9 AppStream 95 k
perl-PathTools x86_64 3.78-461.el9 AppStream 85 k
perl-Pod-Escapes noarch 1:1.07-460.el9 AppStream 20 k
perl-Pod-Perldoc noarch 3.28.01-461.el9 AppStream 83 k
perl-Pod-Simple noarch 1:3.42-4.el9 AppStream 215 k
perl-Pod-Usage noarch 4:2.01-4.el9 AppStream 40 k
perl-Scalar-List-Utils x86_64 4:1.56-461.el9 AppStream 71 k
perl-SelectSaver noarch 1.02-481.el9 AppStream 10 k
perl-Socket x86_64 4:2.031-4.el9 AppStream 54 k
perl-Storable x86_64 1:3.21-460.el9 AppStream 95 k
perl-Symbol noarch 1.08-481.el9 AppStream 13 k
perl-Term-ANSIColor noarch 5.01-461.el9 AppStream 48 k
perl-Term-Cap noarch 1.17-460.el9 AppStream 22 k
perl-Text-ParseWords noarch 3.30-460.el9 AppStream 16 k
perl-Text-Tabs+Wrap noarch 2013.0523-460.el9 AppStream 23 k
perl-Time-Local noarch 2:1.300-7.el9 AppStream 33 k
perl-TimeDate noarch 1:2.33-6.el9 AppStream 51 k
perl-URI noarch 5.09-3.el9 AppStream 108 k
perl-base noarch 2.27-481.el9 AppStream 15 k
perl-constant noarch 1.33-461.el9 AppStream 23 k
perl-if noarch 0.60.800-481.el9 AppStream 13 k
perl-interpreter x86_64 4:5.32.1-481.el9 AppStream 70 k
perl-libnet noarch 3.13-4.el9 AppStream 125 k
perl-libs x86_64 4:5.32.1-481.el9 AppStream 2.0 M
perl-mro x86_64 1.23-481.el9 AppStream 27 k
perl-overload noarch 1.31-481.el9 AppStream 44 k
perl-overloading noarch 0.02-481.el9 AppStream 11 k
perl-parent noarch 1:0.238-460.el9 AppStream 14 k
perl-podlators noarch 1:4.14-460.el9 AppStream 112 k
perl-subs noarch 1.03-481.el9 AppStream 10 k
perl-vars noarch 1.05-481.el9 AppStream 12 k
pkgconf x86_64 1.7.3-10.el9 BaseOS 40 k
pkgconf-m4 noarch 1.7.3-10.el9 BaseOS 14 k
pkgconf-pkg-config x86_64 1.7.3-10.el9 BaseOS 10 k
python3-pyyaml x86_64 5.4.1-6.el9 BaseOS 191 k
quota x86_64 1:4.06-6.el9 BaseOS 190 k
quota-nls noarch 1:4.06-6.el9 BaseOS 78 k
resource-agents x86_64 4.10.0-52.el9_4.4 highavailability 459 k
rpcbind x86_64 1.2.6-7.el9 BaseOS 56 k
sssd-nfs-idmap x86_64 2.9.4-6.el9_4 BaseOS 43 k
Installing weak dependencies:
perl-NDBM_File x86_64 1.15-481.el9 AppStream 21 k
So no idea where you got Corosync or Pacemaker from if it requires libruby. I suggest removing it and using what is in the default Rocky repositories (and EPEL for corosync).