Версия пакета: ruby-3.1.2-alt2.1.x86_64 Шаги воспроизведения: # apt-get install ruby i586-ruby-stdlibs $ cat > helloworld.rb <<EOF class HelloWorld def initialize(name) @name = name.capitalize end def sayHi puts "Hello #{@name}!" end end hello = HelloWorld.new("World") hello.sayHi EOF $ ruby helloworld.rb Получаемый результат: /usr/lib/ruby/psych.rb:13:in `require': /usr/lib/ruby/psych.so: wrong ELF class: ELFCLASS32 - /usr/lib/ruby/psych.so (LoadError) from /usr/lib/ruby/psych.rb:13:in `<top (required)>' from /usr/lib/ruby/rubygems.rb:609:in `require' from /usr/lib/ruby/rubygems.rb:609:in `load_yaml' from /usr/lib/ruby/rubygems/config_file.rb:360:in `load_file' from /usr/lib/ruby/rubygems/config_file.rb:189:in `initialize' from /usr/lib/ruby/rubygems.rb:331:in `new' from /usr/lib/ruby/rubygems.rb:331:in `configuration' from /usr/lib/ruby/rubygems/defaults.rb:85:in `default_specifications_dir' from /usr/lib/ruby/rubygems/specification.rb:869:in `load_defaults' from /usr/lib/ruby/rubygems.rb:1347:in `<top (required)>' from <internal:gem_prelude>:2:in `require' from <internal:gem_prelude>:2:in `<internal:gem_prelude>' Если удалить пакет i586-ruby-stdlibs, то ошибки нет: $ ruby helloworld.rb Hello World! Аналогичная ошибка появляется так же и при запуске gem: $ gem /usr/lib/ruby/psych.rb:13:in `require': /usr/lib/ruby/psych.so: wrong ELF class: ELFCLASS32 - /usr/lib/ruby/psych.so (LoadError) from /usr/lib/ruby/psych.rb:13:in `<top (required)>' from /usr/lib/ruby/rubygems.rb:609:in `require' from /usr/lib/ruby/rubygems.rb:609:in `load_yaml' from /usr/lib/ruby/rubygems/config_file.rb:360:in `load_file' from /usr/lib/ruby/rubygems/config_file.rb:189:in `initialize' from /usr/lib/ruby/rubygems.rb:331:in `new' from /usr/lib/ruby/rubygems.rb:331:in `configuration' from /usr/lib/ruby/rubygems/defaults.rb:85:in `default_specifications_dir' from /usr/lib/ruby/rubygems/specification.rb:869:in `load_defaults' from /usr/lib/ruby/rubygems.rb:1347:in `<top (required)>' from <internal:gem_prelude>:2:in `require' from <internal:gem_prelude>:2:in `<internal:gem_prelude>'
Тутъ не имѣеть смысла использовать пакетъ i586, онъ не поддерживается. Для x86_64 нужно ruby-stdlibs использовать
(Ответ для Малъ Скрылевъ на комментарий #1) > Тутъ не имѣеть смысла использовать пакетъ i586, онъ не поддерживается. Для > x86_64 нужно ruby-stdlibs использовать Это не отменяет того, что установка этого пакета приводит к ошибке.
ruby-3.1.4-alt1 -> sisyphus: Mon Nov 13 2023 Pavel Skrylev <majioa@altlinux> 3.1.4-alt1 - ^ 3.1.2 -> 3.1.4 (closes #47868) - * moved build to rvm - * BREAK: changed some things to rpm-build-macros - ! fixed: + CVE-2022-39253 for bundler + enabled permissions to /var/lib/ruby/gemie/ (closes #45251) + enable running gemserver (closes #48325) + custom gem installation (closes #47660) + loading ruby's so libraries (closes #48249) + drop explicit dependencies to libs including ssl1.1 (closes #48713)
ruby-3.1.4-alt2.1 - ошибка воспроизводится по шагам из описания.
ruby-3.1.4-alt3 -> sisyphus: Wed Feb 07 2024 Pavel Skrylev <majioa@altlinux> 3.1.4-alt3 - + allow access to gem cache for ruby group instead of rvm (closes #48325) - * rearranged load path (closes #48249)