Broke my YaST, need to reinstall it.

This weekend I decided to install KDE4 again to see if it’s any better than it was last year. Now with both KDE3 and KDE4 installed, my YaST has stopped working.

  • Using zypper I determined that the qt3 components had disappeared, so I tried reinstalling them; but that didn’t help.
  • Then with zypper I removed all of the YaST components and then reinstalled them; but that didn’t help.
  • Then I checked for missing YaST-related ruby bits and installed a bunch of those; but that didn’t help.

I see this message in the YaST log:

2014-06-09 12:03:40 <3> pinto(870) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file – rubygems at Unknown

What steps should I take to get my YaST working again?

What version of OS?

13.1 has a rewritten Yast now in Ruby So it looks like you still had the old Yast and only part of the new got install and it is looking for some Ruby libraries. Look under Yast. Maybe force a reinstall

IMO KDE 4 has been good for several versions now. Does it have everything KDE3 had no it does not but is is a vey nice stable desktop. At some point you do have to give up the old and embrace the new LOL

How did you determine that?
Installing KDE4 should not remove KDE3 or qt3.
Which “qt3 components” do you mean btw.

YaST should not need any KDE3 or qt3 components, as it is using qt4.
For the main menu (and only for that) there is a qt3 variant though: yast2-control-center-qt3
If you have that installed, you should better install the qt4 version instead (yast2-control-center-qt), as the qt3 version is completely outdated/unmaintained.

Can you run specific YaST modules, f.e. “Install/remove Software” in the K-Menu, or:

kdesu /sbin/yast2 sw_single

Does the text mode version work?

sudo /sbin/yast

Then with zypper I removed all of the YaST components and then reinstalled them; but that didn’t help.
Then I checked for missing YaST-related ruby bits and installed a bunch of those; but that didn’t help.

None of those should have been necessary. This should be taken care of by package dependencies.

I see this message in the YaST log:

2014-06-09 12:03:40 <3> pinto(870) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file – rubygems at Unknown

Hm, doesn’t really tell me anything.
Have you maybe installed different ruby versions with RVM or similar?

On 2014-06-09 21:26, wolfi323 wrote:

> YaST should not need any KDE3 or qt3 components, as it is using qt4.
> For the main menu (and only for that) there is a qt3 variant though:
> yast2-control-center-qt3
> If you have that installed, you should better install the qt4 version
> instead (yast2-control-center-qt), as the qt3 version is completely
> outdated/unmaintained.

KDE3 is maintained in openSUSE, so I would expect that package to be
maintained as well.

I would open a terminal, and there:


su -
yast --ncurses

If that runs, I think the ruby toolchain is OK. If it fails, then
probably it is not OK.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

But yast2-control-center-qt3 is not part of openSUSE.
It is only available in the additional KDE3 repo, and is still at version 2.17 there, i.e. pre-ruby.

And it only contains a Qt3 version of the main menu anyway. The modules you start will still use Qt4.
So it doesn’t really make sense to have it installed (or even available in that repo) IMHO.
Although it should work. I tried it out a few weeks ago out of curiosity.

[QUOTE=gogalthorp;2648189]What version of OS?

13.1 has a rewritten Yast now in Ruby So it looks like you still had the old Yast and only part of the new got install and it is looking for some Ruby libraries. Look under Yast. Maybe force a reinstall\quote]

Sorry, I should have said. I’m running 13.1, and have been since about a month after its release. I always upgrade via reinstall, never via update; so there were no pre 13.1 yast/ruby bits left lying around.

Off topic:

IMO KDE 4 has been good for several versions now. Does it have everything KDE3 had no it does not but is is a vey nice stable desktop. At some point you do have to give up the old and embrace the new LOL

You are, of course, entitled to your opinion about KDE4; my opinion is it is too big, still too unstable, and has made many of the user interface tools more awkward to use.

Using zypper info -s yast revealed that yast2-control-center-qt3 was no longer installed. I did not say that KDE3 or qt3 were removed.

YaST should not need any KDE3 or qt3 components, as it is using qt4.
For the main menu (and only for that) there is a qt3 variant though: yast2-control-center-qt3\quote]

As I said.

[quote]
If you have that installed, you should better install the qt4 version instead (yast2-control-center-qt), as the qt3 version is completely outdated/unmaintained.

That’s what happened when I installed KDE4; now the control center will not open.

Can you run specific YaST modules, f.e. “Install/remove Software” in the K-Menu, or:

kdesu /sbin/yast2 sw_single

[/quote]

Does the text mode version work?

sudo /sbin/yast

No; from either the command line or via the Icons, neither control center nor the components will start.

None of those should have been necessary. This should be taken care of by package dependencies.

I would have thought so.

Hm, doesn’t really tell me anything.
Have you maybe installed different ruby versions with RVM or similar?

Could be; I don’t use Ruby myself, but only indirectly by running things that use it, like YaST.

The error message I see in the YaST log points in that direction.

On 2014-06-10 01:06, wolfi323 wrote:
>
> robin_listas;2648221 Wrote:

> But yast2-control-center-qt3 is not part of openSUSE.
> It is only available in the additional KDE3 repo, and is still at
> version 2.17 there, i.e. pre-ruby.

Oh.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

To me YaST is a black box; I don’t (and shouldn’t) need to know what makes it go.
I know only that YaST was working with my KDE3 desktop until I installed KDE4, at which point it stopped working.

I would just go ahead and reinstall the whole distro, except that my DVD drive has stopped working since my last upgrade, and my bandwidth is way too low to install across the network.

On 2014-06-10 01:56, jlturriff wrote:

> Does the text mode version work?
>
> Code:
> --------------------
> sudo /sbin/yast
> --------------------
>
>
> No; from either the command line or via the Icons, neither control
> center nor the components will start.

Symptoms, please. And use it with “su -”, not sudo; better in this context.


su -
yast --ncurses

and paste it all here so that we know whatever messages it prints - or not.

>> Hm, doesn’t really tell me anything.
>> Have you maybe installed different ruby versions with RVM or similar?
>>
>
> Could be; I don’t use Ruby myself, but only indirectly by running
> things that use it, like YaST.

Ok, but did you install or not ruby things outside of the official OSS repo?


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

Bo, you said “Using zypper I determined that the qt3 components had disappeared”, but you didn’t say what qt3 components.
This sounded to me that parts of the qt3 installation would have been removed.

So you did have yast-control-center-qt3 installed, and that got removed?
Do you have yast-control-center-qt installed now?

Does the text mode version work?

sudo /sbin/yast

No; from either the command line or via the Icons, neither control center nor the components will start.

Ok, so it’s a more general problem, not just the qt control-center.

Could be; I don’t use Ruby myself, but only indirectly by running things that use it, like YaST.

But YaST only uses the system’s Ruby. It doesn’t install any third-party versions by itself.

Ok, but this should not happen.
Actually YaST uses the same libraries as KDE4 (Qt4 namely) even on KDE3. And installation of KDE4 should not have any effect whatsoever on the ruby installation.

Could you please post your repo list?

zypper lr -d

Coukd you please post a few more lines from y2log, not just the last one?
(Not sure how many would be necessary, but let’s start with:

sudo tail -n 20 /var/log/YaST2/y2log

On 2014-06-10 08:56, wolfi323 wrote:
>
> jlturriff;2648231 Wrote:

>> Could be; I don’t use Ruby myself, but only indirectly by running
>> things that use it, like YaST.
> But YaST only uses the system’s Ruby. It doesn’t install any third-party
> versions by itself.

And has problems when other ruby things are installed, when it tries to
use them instead of the system default ones, and they work differently.
I remember seeing a recent update to correct this.

People doing ruby development had problems with this.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

I know, that’s why I asked whether the OP had custom ruby installations, via RVM f.e.
But in that quote he states he does not IIUIC. :wink:

Anyway, this problem should be fixed already:

# rpm -q --changelog yast2
* Fri May 02 2014 jreidinger@suse.com
- Make sure the system ruby is used (BNC#845897)
  ( thanks to Marc Schuetz <schuetz@gmx.net> )
- 3.0.14
...


Yes.
And yes.
FYI, it took me a while to figure out how to tell what was happening, because running yast or yast2 from the command line produced no messages, but immediately returned to the command prompt. Only the messages in y2log tell what’s happening (sort of).

Ok, so it’s a more general problem, not just the qt control-center.

But YaST only uses the system’s Ruby. It doesn’t install any third-party versions by itself.

Ok, but this should not happen.
Actually YaST uses the same libraries as KDE4 (Qt4 namely) even on KDE3. And installation of KDE4 should not have any effect whatsoever on the ruby installation.

Could you please post your repo list?

zypper lr -d

Note that this repository configuration has been in place for months before I installed KDE4 and YaST stopped working.


#  | Alias                                  | Name                                   | Enabled | Refresh | Priority | Type   | URI                                                                                                 | Service
---+----------------------------------------+----------------------------------------+---------+---------+----------+--------+-----------------------------------------------------------------------------------------------------+--------
 1 | Emulators                              | Emulators                              | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/Emulators/openSUSE_13.1/                                  |
 2 | Java:packages                          | Java:packages                          | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/Java:/packages/openSUSE_13.1/                             |
 3 | KDE:KDE3_12.3                          | KDE:KDE3_12.3                          | No      | No      |   97     | rpm-md | http://download.opensuse.org/repositories/KDE:/KDE3/openSUSE_12.3/                                  |
 4 | KDE:KDE3_13.1                          | KDE:KDE3_13.1                          | Yes     | Yes     |   98     | rpm-md | http://download.opensuse.org/repositories/KDE:/KDE3/openSUSE_13.1/                                  |
 5 | dbg                                    | openSUSE-13.1-Debug                    | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/debug/distribution/13.1/repo/oss/                                      |
 6 | dbg-upd                                | openSUSE-13.1-Update-Debug             | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/debug/update/13.1/                                                     |
 7 | dbg-upd-nonoss                         | openSUSE-13.1-Update-Debug-Non-Oss     | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/debug/update/13.1-non-oss/                                             |
 8 | download.opensuse.org-games            | openSUSE BuildService - Games          | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/games/openSUSE_13.1/                                      |
 9 | dvd-opensuse-13.1-1.10                 | openSUSE-13.1-1.10                     | No      | Yes     |   99     | yast2  | hd:///?device=/dev/disk/by-id/scsi-1USB_DISK_2.0-part2                                              |
10 | editors                                | editors                                | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/editors/openSUSE_13.1/                                    |
11 | fonts                                  | openSUSE-Fonts                         | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/M17N:/fonts/openSUSE_13.1/                                |
12 | home:Mailaender:branches:Java:packages | home:Mailaender:branches:Java:packages | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/Mailaender:/branches:/Java:/packages/openSUSE_13.1/ |
13 | home:Ronis_BR                          | home:Ronis_BR                          | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/Ronis_BR/openSUSE_13.1/                             |
14 | home:ervin                             | home:ervin                             | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/ervin/openSUSE_13.1/                                |
15 | home:marec2000                         | home:marec2000                         | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/marec2000/openSUSE_13.1/                            |
16 | home:marec2000:ports                   | home:marec2000:ports                   | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/marec2000:/ports/openSUSE_13.1/                     |
17 | libdvdcss                              | libdvdcss repository                   | Yes     | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/13.1/                                                                |
18 | nonoss                                 | openSUSE-13.1-Non-Oss                  | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/13.1/repo/non-oss/                                        |
19 | openSUSE:Factory                       | openSUSE:Factory                       | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/factory/repo/oss/                                                      |
20 | oss                                    | openSUSE-13.1-Oss                      | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/13.1/repo/oss/                                            |
21 | packman                                | PackMan-openSUSE_13.1                  | Yes     | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_13.1/                                                         |
22 | src                                    | openSUSE-13.1-Source                   | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/source/distribution/13.1/repo/oss/                                     |
23 | tor                                    | torproject.org-TOR                     | Yes     | Yes     |   99     | rpm-md | http://deb.torproject.org/torproject.org/rpm/el/6/x86_64                                            |
24 | upd                                    | openSUSE-13.1-Update                   | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.1/                                                           |
25 | upd-nonoss                             | openSUSE-13.1-Update-Non-Oss           | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.1-non-oss/                                                   |
26 | yast                                   | openSUSE-13.1-YaST                     | Yes     | Yes     |  100     | rpm-md | http://download.opensuse.org/repositories/YaST:/Head/openSUSE_13.1/

Could you please post a few more lines from y2log, not just the last one?
(Not sure how many would be necessary, but let’s start with:

sudo tail -n 20 /var/log/YaST2/y2log

tail -n50 /var/log/YaST2/y2log
2014-06-09 12:03:40 <3> pinto(870) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file -- rubygems at Unknown
2014-06-09 12:03:40 <1> pinto(870) [liby2] genericfrontend.cc(main):575 Launched YaST2 component 'y2base' 'menu' 'qt'
2014-06-09 12:03:40 <1> pinto(870) [ui-component] YUIComponentCreator.cc(createInternal):124 Creating UI component for ""
2014-06-09 12:03:40 <1> pinto(870) [liby2] genericfrontend.cc(main):764 YAST_IS_RUNNING is yes
2014-06-09 12:03:40 <3> pinto(870) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file -- set at /usr/lib64/ruby/vendor_ruby/2.1.0/yast/builtins.rb:1:in `require'
2014-06-09 12:03:40 &lt;1&gt; pinto(870) [liby2] genericfrontend.cc(main):778 Finished YaST2 component 'y2base'
2014-06-09 12:03:40 &lt;1&gt; pinto(870) [liby2] genericfrontend.cc(main):783 Exiting with client return value 'false'
2014-06-09 18:51:32 &lt;3&gt; pinto(3531) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file -- rubygems at Unknown
2014-06-09 18:51:32 &lt;1&gt; pinto(3531) [liby2] genericfrontend.cc(main):575 Launched YaST2 component 'y2base' 'sw_single' 'qt'
2014-06-09 18:51:32 &lt;1&gt; pinto(3531) [ui-component] YUIComponentCreator.cc(createInternal):124 Creating UI component for ""
2014-06-09 18:51:32 &lt;1&gt; pinto(3531) [liby2] genericfrontend.cc(main):764 YAST_IS_RUNNING is yes
2014-06-09 18:51:32 &lt;3&gt; pinto(3531) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file -- set at /usr/lib64/ruby/vendor_ruby/2.1.0/yast/builtins.rb:1:in `require'
2014-06-09 18:51:32 <1> pinto(3531) [liby2] genericfrontend.cc(main):778 Finished YaST2 component 'y2base'
2014-06-09 18:51:32 <1> pinto(3531) [liby2] genericfrontend.cc(main):783 Exiting with client return value 'false'

On 2014-06-11 00:36, jlturriff wrote:

>> Could you please post your repo list?
>>>
> Code:
> --------------------
> > > zypper lr -d
> --------------------
>>>
>
> Note that this repository configuration has been in place for months
> before I installed KDE4 and YaST stopped working.

You have the YaST Head repo!

If you use that you should subscribe to the YaST development mail list
and contact them in case of problems… who knows what they are doing.

On top of that, you also have openSUSE:Factory, which is a recipe for
general disaster.

So you have to locate every package downloaded from factory, and
downgrade them to plain 13.1 instead. If not, you have to properly and
fully switch to Factory, with due knowledge of what you do, and then ask
for help on the Factory mail list, or the Beta forum here.

As to the home repos you use, I can not comment because I don’t know
what they provide, but do use caution.

>
>
>> Could you please post a few more lines from y2log, not just the last
>> one?

Bingo!


>   2014-06-09 12:03:40 <3> pinto(870) [Y2Ruby] binary/Y2RubyUtils.cc(y2_require):25 cannot require yast:cannot load such file -- set at /usr/lib64/ruby/vendor_ruby/2.1.0/yast/builtins.rb:1:in `require'

Well, 13.1 has /usr/lib64/ruby/vendor_ruby/2.0.0, so that’s your
problem. You are using ruby from factory or yast:head(my guess) and yast
from 13.1.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

Okay, good. So I need to downgrade ruby to whatever the 13.3 repository provides, right? Is there a way to do that with zypper? I should disable Factory and YaST:head, then deinstall and reinstall ruby?

On 2014-06-11 02:06, jlturriff wrote:

>
> Okay, good. So I need to downgrade ruby to whatever the 13.3 repository
> provides, right?

No.

You have to remove the factory repo from your list, and the yast:head
repo. Then you will have to reinstall everything that you installed
from those. Absolutely everything.

Then run this:


rpm -q -a --queryformat "%{INSTALLTIME}	%{INSTALLTIME:day} \
%{BUILDTIME:day} %-30{NAME}	%15{VERSION}-%-7{RELEASE}	%{arch} \
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}
" \
| sort | cut --fields="2-" | tee rpmlist \
| egrep -v "openSUSE.13\.1" | less -S

That will locate all packages that don’t belong to openSUSE 13.1, with
maybe some false positives. So review the entire list, and use zypper to
reinstall all of them that came from “factory” or “yast:head”.

When you think you did them all, repeat the query.

Then do:


rpm -q -a --queryformat "%{INSTALLTIME}	%{INSTALLTIME:day} \
%{BUILDTIME:day} %-30{NAME}	%15{VERSION}-%-7{RELEASE}	%{arch} \
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}
" \
| sort | cut --fields="2-" | tee rpmlist | less -S

and have a long visual look at the list, looking for files that may seem
to come from those two repos and that escaped the previous query, and
reinstall them with zypper.

Hopefully this will work (you will need to reboot).


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

Hmmm… Not the easiest task. Somehow I mangled /usr/bin/ really badly, and ended up reinstalling everything from the ISO. OTOH, now I know how to set up a USB stick with the install ISO. :slight_smile:

Thanks for all your help.

On 2014-06-15 22:16, jlturriff wrote:

> Hmmm… Not the easiest task. Somehow I mangled /usr/bin/ really badly,
> and ended up reinstalling everything from the ISO. OTOH, now I know how
> to set up a USB stick with the install ISO. :slight_smile:

Ok, good.

Now be real careful what repositories you add to your system. Never
activate a repo with “factory” in the name (or tumbleweed), or
experimental repos, unless you know what you are doing and apply the
proper procedures.

In other words: do not mix repos of different releases.

Notice that a one click install may add a repository automatically, so
make real sure which one it is, and for what release.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)