Yast2 problem

when trying to open any module in Yast I get a message similar the following depending on which module :-

Internal error. Please report a bug report with logs.
Run save_y2logs to get complete logs.

Details: Failed to load Module ‘Packages’ due to: Failed to load Module ‘AddOnProduct’ due to: Failed to load Module ‘ProductLicense’ due to: cannot load such file – cheetah
Caller: /usr/lib64/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require’

The above example was for “Software Management” if I try ‘Network Setting’ then substitute ‘Packages’ with ‘Lan’ and so on.

I have tried Zypper dup but with no success, any suggestions would be welcome.

Post the output from


zypper lr -d

Use CODE tags for the output.

See this post on how to use CODE tags:
Using Code Tags Around Your Paste

Thanks for reply, before using zypper dup I disabled all repositories except for Packman and #3 Main Repository.


zypper lr -d
Repository priorities in effect:                                                                                 (See 'zypper lr -P' for details)
      90 (raised priority)  :  1 repository
      99 (default priority) :  1 repository

#  | Alias                           | Name                                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                      | Service
---+---------------------------------+-----------------------------------------+---------+-----------+---------+----------+--------+--------------------------------------------------------------------------+--------
 1 | download.opensuse.org-non-oss   | Main Repository (NON-OSS)               | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.0/repo/non-oss/        |        
 2 | download.opensuse.org-non-oss_1 | Update Repository (Non-Oss)             | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/update/leap/15.0/non-oss/                   |        
 3 | download.opensuse.org-oss       | Main Repository (OSS)                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.0/repo/oss/            |        
 4 | download.opensuse.org-oss_1     | Main Update Repository                  | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/update/leap/15.0/oss                        |        
 5 | nvidia                          | nvidia                                  | No      | ----      | ----    |   99     | rpm-md | https://download.nvidia.com/opensuse/leap/15.0                           |        
 6 | openSUSE-Leap-15.0-1            | openSUSE-Leap-15.0-1                    | No      | ----      | ----    |   99     | rpm-md | cd:///?devices=/dev/disk/by-id/ata-HL-DT-ST_DVDRAM_GH24NSB0_KC2D6SB5418  |        
 7 | packman                         | packman                                 | Yes     | (r ) Yes  | Yes     |   90     | rpm-md | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.0/       |        
 8 | repo-debug                      | openSUSE-Leap-15.0-Debug                | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/debug/distribution/leap/15.0/repo/oss/      |        
 9 | repo-debug-non-oss              | openSUSE-Leap-15.0-Debug-Non-Oss        | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/debug/distribution/leap/15.0/repo/non-oss/  |        
10 | repo-debug-update               | openSUSE-Leap-15.0-Update-Debug         | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/debug/update/leap/15.0/oss/                 |        
11 | repo-debug-update-non-oss       | openSUSE-Leap-15.0-Update-Debug-Non-Oss | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/debug/update/leap/15.0/non-oss/             |        
12 | repo-source                     | openSUSE-Leap-15.0-Source               | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/source/distribution/leap/15.0/repo/oss/     |        
13 | repo-source-non-oss             | openSUSE-Leap-15.0-Source-Non-Oss       | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/source/distribution/leap/15.0/repo/non-oss/ | 

This is Leap. Thus you do NOT use zypper dup (after you may have used it one time to e.g. switch from Leap15.0 to 15.1) and you do NOT disable the Update repos (that is where your patches should come from.

So enable the non-OSS repo, and both Update repos and do

zypper up

BTW, you signature tells us that you have 42.1 :frowning:

Agree to a point,
Running the following commands should re-enable the appropriate repos…

zypper mr --enable 1 2 4

Now, the big question is whether you did your “zypper dup” with only that one repo enabled?
If you did, then you haven’t fully upgraded so indeed you should run “zypper dup” again.
Otherwise, you did your upgrade and now only want to update after a full upgrade, then you should “zypper up”

After a full upgrade (anytime thereafter regardless whether you have updated),
Can further re-enable your other repositories using the same “zypper mr” above but instead reference numbers of your other repos, and then run “zypper up” again.

Additionally,
You should know that you are upgrading/updating only to 15.0 and not 15.1 (as this Forum post is tagged)

TSU

Oh yes. This is a big mess.

  • the prefix of the thread title: LEAP 15.1.
  • the repos: 15.0
  • the signature: 42.1

Agreed. But, once posted a user cannot change prefix or title anymore. We can:

  • Click Edit post
  • Click Advanced
    That allows you to change prefix / title.
    The sig is up to the user.

Sorry I tried changing to 15.0 but as pointed out I couldn’t.

 hostnamectl
   Static hostname: linux-vfmv.site
Transient hostname: linux-vfmv
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: 4ed603cd18304c8d9216b69334cdeb3a
           Boot ID: e036bf4797874553a538658485653a27
  Operating System: openSUSE Leap 15.0
       CPE OS Name: cpe:/o:opensuse:leap:15.0
            Kernel: Linux 4.12.14-lp150.12.70-default
      Architecture: x86-64


You could have asked for it. It is now done.

I did the upgrade with numbers 3 and 7 (packman) enabled just to test the Yast problem and as it wasn’t resolved decided to come to you guys for help. After the zypper enable 1 2 4 command I now have 1,2,3,4 and 7 enabled

That looks like a normal situation. And did you now update to the latest with at least

zypper patch

or (to also get the Packman updates)

zypper up

or even (to eliminate any left overs from earlier versions like 42.1)

zypper dup

I have done everything but the Yast problem is still there. I am now downloading 15.1 and will install that. Here are the results:-


zypper up
Retrieving repository 'Main Update Repository' metadata ...................................................................................[done]
Building repository 'Main Update Repository' cache ........................................................................................[done]
Building repository 'packman' cache .......................................................................................................[done]
Loading repository data...
Warning: Repository 'Update Repository (Non-Oss)' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...

The following item is locked and will not be changed by any action:
 Available:
  Mesa-dri-nouveau

The following 39 package updates will NOT be installed:
  ffmpeg-3 gstreamer-plugins-bad gstreamer-plugins-bad-lang libavcodec57 libavcodec58 libavdevice57 libavfilter6 libavfilter7 libavformat57
  libavformat58 libavresample3 libavresample4 libavutil55 libavutil56 libgstadaptivedemux-1_0-0 libgstbadaudio-1_0-0 libgstbadbase-1_0-0
  libgstbadvideo-1_0-0 libgstbasecamerabinsrc-1_0-0 libgstcodecparsers-1_0-0 libgstgl-1_0-0 libgstmpegts-1_0-0 libgstphotography-1_0-0
  libgsturidownloader-1_0-0 libgstwayland-1_0-0 libpostproc54 libpostproc55 libswresample2 libswresample3 libswscale4 libswscale5 libvlc5
  libvlccore9 vlc vlc-codec-gstreamer vlc-lang vlc-noX vlc-qt vlc-vdpau

Nothing to do.

 yast2
QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0
Run command: /sbin/yast2 repositories &
The config 'root' does not exist. Likely snapper is not configured.
See 'man snapper' for further instructions.
^C 

why should ‘Snapper’ be involved in this ? I don’t even have it installed


zypper patch
Loading repository data...
Warning: Repository 'Update Repository (Non-Oss)' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Resolving package dependencies...

The following item is locked and will not be changed by any action:
 Available:
  Mesa-dri-nouveau

Nothing to do.


Please, I already changed the prefix, but do change your signature. It’s confusing those who try to help.

I have changed it, but I would like to point out that people who are confused by 42.1 instead of 15.0 in my signature would not be able to help me very much. :slight_smile:

First a couple things…
You shouldn’t “zypper patch,” you should always “zypper up” unless there is a special reason to do otherwise. The diff is that patching only doesn’t install more than security fixes so you miss out on improved features and functionality. Patching is for those who run Production machines where reliability and consistent up-time is more important than anything else, and new features and functionality aren’t important… The prime objective is to “just work.” Users on the other hand can risk the incredibly tiny possibility that something might go wrong and might need to be fixed and can benefit from new features and better functionality.

The other is whether you’re interested in upgrading again to 15.1, if you’re interested in doing that I’m reasonably sure that whatever your current problem is should be fixed during the upgrade process. If you’re interested, disable all your repos except 1, 2, 3 and 4, then run the following command which changes all your repos to point to 15.1 and initiates the upgrade immediately

sed -i 's/15.0/15.1/g' /etc/zypp/repos.d/* && zypper dup

Else,
If you want to stay with 15.0,
Then we’ll have to take a closer look at your yast…
First, try force re-installing your YaST

zypper in -f yast2

Then test.
If you’re still having problems, then post the results of the following which describes your YaST package properties, primarily the version and repo source

zypper info yast2

TSU

thank you tsu2 for a concise and comprehensive answer. Before trying the 1st option I have tried the 2nd and 3rd with the following results :-


zypper in -f yast2
Retrieving repository 'Main Update Repository' metadata .........................................................[done]
Building repository 'Main Update Repository' cache ..............................................................[done]
Loading repository data...
Warning: Repository 'Update Repository (Non-Oss)' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Forcing installation of 'yast2-4.0.104-lp150.2.16.1.x86_64' from repository 'Main Update Repository'.
Resolving package dependencies...

The following package is going to be reinstalled:
  yast2

1 package to reinstall.
Overall download size: 479.1 KiB. Already cached: 0 B. No additional space will be used or freed after the operation.
Continue? [y/n/v/...? shows all options] (y): 
Retrieving package yast2-4.0.104-lp150.2.16.1.x86_64                              (1/1), 479.1 KiB (  2.3 MiB unpacked)
Retrieving: yast2-4.0.104-lp150.2.16.1.x86_64.rpm .................................................[done (376.7 KiB/s)]
Checking for file conflicts: ....................................................................................[done]
(1/1) Installing: yast2-4.0.104-lp150.2.16.1.x86_64 .............................................................[done]
Additional rpm output:
Updating /etc/sysconfig/yast2 ...

Result problem persists. What is the problem with the 'Update Repository (Non-Oss) ?


zypper info yast2
Loading repository data...
Warning: Repository 'Update Repository (Non-Oss)' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...


Information for package yast2:
------------------------------
Repository     : Main Update Repository        
Name           : yast2                         
Version        : 4.0.104-lp150.2.16.1          
Arch           : x86_64                        
Vendor         : openSUSE                      
Installed Size : 2.3 MiB                       
Installed      : Yes                           
Status         : up-to-date                    
Source package : yast2-4.0.104-lp150.2.16.1.src
Summary        : YaST2 - Main Package          
Description    :                               
    This package contains scripts and data needed for SUSE Linux
    installation with YaST2


The reason I haven’t tried the 1st option yet is the Nvidia problem which I have with every upgrade, will that ‘sed’ command update the Nvidia repository as well?

  1. You can ignore the warning about the Update non-OSS repo. Because there weren’t any updates during a long time (there aren’t much packages in non-OSS) zypper sees hat timestamp of long ago and warns that that may be too long ago. In fact it isn’t.
  2. There is nothing wrong by doing a zypper patch. It is btw the same as the YaST > Software > On line Update action. You only should know what it does (like you should know about every action what it does before doing it). Zypper patch applies the patches that are provided in the Update repos (two of them: OSS and non-OSS) and thus brings your LEAP version up to date with security and recommended updates/patches (the nomenclature is not strict). Doing this on a regular base will keep your official LEAP up-to date. Zypper patch will however NOT install newer versions of packages from your other enabled repos like Packman (these have no Update repos coming with them). You update to the newer versions of packages on those repos with zypper up. And because zypper up includes zypper patch, many people just do a zypper up to have them both in one go. Others perefer to do things in discrete carefully watched steps (like zypper patch first and then zypper up --from packman and then zypper up – from …, etc.) Each person has her/his own route based on experience, thin air or what.

Are you programming Ruby and installing/removing ruby gem packages by any chance?

Years ago, back in 2015, shortly after my first openSUSE install (42.1, I think) I began a new Ruby-on-Rails project by first removing any gems from my system I wouldn’t need (the fatal command was »sudo gem uninstall --all«). After that, YaST stopped working with a similarly obscure error message you mentioned in your initial posting. After much tinkering, I submitted a bug ticket but was swiftly rebuked — that, in short, I should have known better. In a way, I agree with Ladislav Slezák over there because I had followed the news about porting YaST to the Ruby language quite closely. Still, the problem remains: any gems YaST needed in order to run hadn’t been declared dependent to YaST.

I shot myself in the foot.

Luckily, back then I only needed to reinstall 2 gems: rubygem-fast_gettext and rubygem-ruby-dbus. With Leap 15.0 this may have changed. Or, I’m on the completely wrong track trying to solve this issue. Just thought I’d mention the possibility of broken/missing ruby gems.

That is a very valid point because recently I remember trying something the other day and was told that Dbus wasn’t running and the yast problem specifically points to :-
“-- cheetah
Caller: /usr/lib64/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require’”
how can I reinstall ruby and which part of ruby needs reinstalling?