Ruby 3.2 migration support

This update comes with big changes to the ruby packages: ruby itself bumped from version 3.0.6 (EOL) to 3.2.4 and associated gems also get bumped or rebuilt.

If you notice any ruby related issues please @ me as I’m interested in helping out with future updates. (It might just be that we need to bump a gem version here and there)

4 Likes

@sdwolfz Fusuma didn’t like the Ruby update, stopped working with an error message about not finding expected version (or something to that effect, restored a Snapper snapshot).

Do you have a stack trace I can look at? Also, by fusuma do you mena AUR (en) - ruby-fusuma ?

EDIT: also, have you rebuilt the package after this update?

2 Likes

Sorry, no stack trace. It’ AUR ruby-fusyma 3.6.0-1.

The latest 2 comments on the AUR package website sound similar to what you had. Please take a look: AUR (en) - ruby-fusuma and try rebuilding, then let me know if that worked.

1 Like

I’ll try, thanks.

@sdwolfz Edit:Didn’t seem to work after yay -S --rebuild ruby-fusuma

<internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- revdev (LoadError)
from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-plugin-sendkey-0.10.1/lib/fusuma/plugin/sendkey/keyboard.rb:3:in `<top (required)>'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-plugin-sendkey-0.10.1/lib/fusuma/plugin/executors/sendkey_executor.rb:3:in `require_relative'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-plugin-sendkey-0.10.1/lib/fusuma/plugin/executors/sendkey_executor.rb:3:in `<top (required)>'
from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/manager.rb:19:in `block in require_siblings_from_gems'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/manager.rb:19:in `each'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/manager.rb:19:in `require_siblings_from_gems'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/manager.rb:100:in `add'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/base.rb:15:in `inherited'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/executors/executor.rb:10:in `<module:Executors>'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/executors/executor.rb:8:in `<module:Plugin>'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/executors/executor.rb:6:in `<module:Fusuma>'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/executors/executor.rb:5:in `<top (required)>'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/manager.rb:111:in `require_relative'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma/plugin/manager.rb:111:in `require_base_plugins'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma.rb:33:in `read_options'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/lib/fusuma.rb:16:in `run'
from /usr/lib/ruby/gems/3.2.0/gems/fusuma-3.6.0/exe/fusuma:50:in `<top (required)>'
from /usr/bin/fusuma:25:in `load'
from /usr/bin/fusuma:25:in `<main>'

This seems to have happened in the past as well:

You will need to rebuild all AUR ruby packages, including AUR (en) - ruby-fusuma-plugin-sendkey

1 Like

Rubyripper does not work anymore.
https://aur.archlinux.org/packages/rubyripper
Had to install the git-version for using rubyripper via terminal.

Hello @sdwolfz, I have adopted rubyripper on AUR and then ruby-gtk3 (and all the ruby gtk bindings) have been dropped to AUR too, they are:

  • a version behind
  • fails to build
  • need a complete overhaul following recent ruby packaging guidelines

plus haven’t done ruby packaging before and I’m not familiar with the commands and I’m without broadband at the moment and can’t do clean chroot builds

1 Like

I can’t remember if ruby came as dependency for another program or is part of a standard Manjaro installation (looking in pamac history seems though), but it looks like I don’t have any program/OS part depending on ruby. So I could remove ruby (and all it’s extensions)?

If in doubt - first set its install reason to dependency and then try to remove orphans.

Probably not interesting, but here’s what I got:
With the 2024-08-20 update (installed today) I only got a few questions about replacing some ruby stuff and as I was doing that, there were two warnings about dependency cycle for rybygems and libcamera-ipa (installed before their dependencies). I checked in Manjaro forum (found nothing related) but duckduckgo told me Arch forum had some info. Read it and concluded that it was probably nothing important. Upgraded everything and I can’t detect any strange things, so far.
I don’t (that I’m aware of) use Ruby, but I’m sure there are some software that has been installed that use it.

@FreddyX @Lolix Hey, thanks for looking into this, not really sure if I want to get myself involved with ruby AUR packages.

Mostly what I want to do is help keep Ruby itself up to date and make sure the more important gems are up to date as well. I can also potentially help people out with issues if they post a stacktrace but I use gems directly from rubygems with Bundler so the more exotic ones will probably fall through.

@Machion you can do pacman -Sii ruby and check Required By, or pactree -r ruby to see if there is anything you’re using in that list.

gist, gitlab, redmine, puppet, metasploit, and vagrant are probably the most common packages that you would need to have to get ruby in as a dependency, others should be quite obvious. Try pactree -r ruby and see what you get.

For that you should switch to Arch and head to Packages · GitLab


about my ruby AUR stuff got my way with it

@Lolix Yes, I know, already on it:

(Unfortunately I only have time to do this on weekends)

aur/dislocker stopped working for me:

$ dislocker
dislocker: error while loading shared libraries: libruby.so.3.0: cannot open shared object file: No such file or directory

How to fix it?

$ ls -la /usr/lib | grep ruby
lrwxrwxrwx 1 root root        16 Jun  2 15:08 libruby.so -> libruby.so.3.2.4
lrwxrwxrwx 1 root root        16 Jun  2 15:08 libruby.so.3.2 -> libruby.so.3.2.4
-rwxr-xr-x 1 root root   5516760 Jun  2 15:08 libruby.so.3.2.4
drwxr-xr-x 1 root root        40 Aug 16 11:17 ruby

Looks like libruby.so.3.0 does not exist anymore. Have you rebuilt your AUR package after the update? If not try that, and if it still does not work leave a comment here:

1 Like

Thank you very much, rebuilding worked yay -S --rebuild aur/dislocker

1 Like

@kossak every time you have error while loading shared libraries: libXXX.so.XXX: cannot open shared object file: No such file or directory for build from source programs you have to rebuild it so it link against the new library version, it is the same every time

1 Like

I uninstalled ruby without any problems.