Zypper, Yast both broken after trying to update

The last thing I remember doing was “zypper patch”. That went well I think, and it said something like that zypper itself was updated, so I should run it again. I think after doing that, the system froze, so I rebooted. Eventually I discovered that zypper no longer worked. At first it complained about some library being too short (the size was 0, so it is correct there), and now it complains the library doesn’t exist at all, which it doesn’t.

zypper:error while loading shared libraries: libzypp.so.810: cannot open shared object file: No such file or directory

Since every guide out there for installing or reinstalling zypper involves using yast, I tried that…and yast also does not work. When I go into Software, and then try Online Update, Software Management, or any of those options, nothing happens and an error shows on the command line:

Error while creating client module online_update

Or instead of online_update, it may say sw_single, or add-on, or checkmedia.

I tried using rpm -i to install an .rpm that has the missing zypper library, libzypp-8.12.6-3.5.i586.rpm. But that tells me that it conflicts with file from install of libzypp-8.13.1-0.2.3.i586. So I went in search of that version file, and I found it in a delta rpm. I tried using rpm to install THAT file, and it said that the package was already installed.

The system as a whole works, so I’m not in immediate crisis, but at some point I’m going to want yast and/or zypper to work again. Any help you can give is extremely appreciated. I’d rather fix it than a whole reinstall.

openSUSE 11.4, std kernel
Core 2 Duo, 2 GB RAM

On 01/30/2012 08:26 PM, rob g wrote:
> I’d rather fix it than a whole reinstall.

please show us the terminal input/output from


zypper lr -d
uname -a
cat /etc/SuSE-release

copy/paste the in/output back to this thread using the instructions
here: http://goo.gl/i3wnr

and tell us the desktop environment and version in use…please


DD http://tinyurl.com/DD-Caveat
Read what Distro Watch writes: http://tinyurl.com/SUSEonDW

linux-rtd:~ # zypper lr -d
zypper: error while loading shared libraries: libzypp.so.810: cannot open shared object file: No such file or directory
linux-rtd:~ # uname -a
Linux linux-rtd 2.6.37.6-0.9-desktop #1 SMP PREEMPT 2011-10-19 22:33:27 +0200 i686 i686 i386 GNU/Linux

linux-rtd:~ # cat /etc/SuSE-release
openSUSE 11.4 (i586)
VERSION = 11.4
CODENAME = Celadon

As for desktop environment, I’m using KDE 4.6.00 (4.6.0) “release 6”, but could just as easily use the command line if needed.

On 01/30/2012 09:16 PM, rob g wrote:
> linux-rtd:~ # zypper lr -d
> zypper: error while loading shared libraries: libzypp.so.810: cannot open shared object file: No such file or directory

oh (slaps forehead!!) hmmmm you have broken both yast and zypper (just
like in your subject line)

i will sit back now and hope to learn how to fix that without a reinstall…

how did you break it? installing from factory, playground, unstable,
tumbleweed and etc? or what?


DD
Read what Distro Watch writes: http://tinyurl.com/SUSEonDW

System was originally installed from distro DVD. I don’t recall if I had done any zypper patch or zypper update prior to this. The last time I tried an update, I think it froze the whole system so I had to hard reboot. I don’t recall if I did anything else to the system before noticing zypper and yast no longer worked…I don’t think I did. certainly I’ve not done anything intentionally to zypper. I believe the patch somehow is to blame.

On Mon, 30 Jan 2012 20:16:03 +0000, rob g wrote:

> zypper: error while loading shared libraries: libzypp.so.810: cannot
> open shared object file: No such file or directory

Try pulling the file libzypp-*.rpm from your installation DVD and
installing it with:

rpm -ihv libzypp*.rpm

(You should be able to do that as root from the mounted DVD).

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Thanks for the help!

I found the .rpm, copied it to my root dir, and tried it:

linux-rtd:~ # rpm -ihv libzypp-8.12.1-3.3.i586.rpm
error: Failed dependencies:
        satsolver-tools = 0.16.1 is needed by libzypp-8.12.1-3.3.i586

On Mon, 30 Jan 2012 21:26:03 +0000, rob g wrote:

> Thanks for the help!
>
> I found the .rpm, copied it to my root dir, and tried it:
>
>
> Code:
> --------------------
> linux-rtd:~ # rpm -ihv libzypp-8.12.1-3.3.i586.rpm
> error: Failed dependencies:
> satsolver-tools = 0.16.1 is needed by libzypp-8.12.1-3.3.i586
>
> --------------------

You’ll the need to install that package as well.

It might be worthwhile to just rerun the installation after verifying the
media - it seems that there’s a fair bit that’s missing on this system
that should have been installed on the first install.

The other option is to follow the chain of dependencies until zypper
runs, and then make sure you’ve got 12.1 repos enabled and run ‘zypper
dup’ - that might resolve it. But a reinstall might be easier.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Well, let me be clear that zypper and yast DID work just fine at some point. So, the original install was perfectly fine. And I think I did a few zypper patch’s a few times in the past (I think). And even the first time I ran it this last time…it ran perfectly fine. It is just NOW hosed.

I’m not sure what you mean by running ‘zypper dup’, because running zypper with any parameter gives the same missing .so error.

So you mean boot from the 11.4 install DVD and just run it again, so as to repair things, or do you mean a complete wipe/reinstall of the OS?

(By the way, I haven’t mentioned this, but I do specifically want to stay with 11.4. I already have a 12.1 install, and I need 11.4 for testing purposes.)

How do I get the chain of dependencies?

On 2012-01-30 23:06, rob g wrote:
>
> Well, let me be clear that zypper and yast DID work just fine at some
> point. So, the original install was perfectly fine. And I think I did
> a few zypper patch’s a few times in the past (I think). And even the
> first time I ran it this last time…it ran perfectly fine. It is just
> NOW hosed.

Maybe investigating the zypper logs would show light on the mystery. My
guess is that the “zypper patch” operation failed or aborted midways.

> I’m not sure what you mean by running ‘zypper dup’, because running
> zypper with any parameter gives the same missing .so error.

No, that later.

You have to cd to the directory holding the original rpms in the DVD. No
need to copy them to the hard disk. There, using the rpm command as Jim
told you, you will have to reinstall the missing things. If it complains
that satsolver-tools or whatever is needed, you have to add that rpm to the
same command line, ie, two packages or more on it. Repeat the procedure
till it doesn’t complain and runs.

Then try to run zypper. If it runs, then try “zypper verify”.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Ok, I popped in the install DVD, changed to the correct directory on there where all the goodies were, and started off with trying to rpm -ihv the main zypper rpm. I got a flurry of messages indicating a version conflict.


        package zypper-1.5.7-3.5.i586 (which is newer than zypper-1.5.3-3.2.i586) is already installed
        package zypper-1.5.7-0.4.3.i586 (which is newer than zypper-1.5.3-3.2.i586) is already installed


So, I tried the libzypp rpm. That gave me the satsolver error, so I found the sat-solver rpm (satsolver-tools-0.16.1-4.7.1.i586.rpm) and tried to install it.


        package satsolver-tools-0.16.3-0.2.1.i586 (which is newer than satsolver-tools-0.16.1-4.7.1.i586) is already installed


It would seem that trying to reinstall from the DVD isn’t going to work because whatever was updated by the patch is newer. I took a look at the command line args for rpm, and found --oldpackage, so I decided to give that a try, starting from the beginning. That didn’t appear to make any difference.

So I guess the next step is to try and delete whatever is installed first. I’m pretty sure I’d use rpm -e for that, but so far trying that gives me “package is not installed” messages, so I think I’m not giving it the right rpm name. I’m sure there’s a command line switch for that…

Ok, so I found --replacefiles, and that allows me to install the version that’s on the DVD. After installing libzypp, satsolver, and zypp rpms, zypper now runs! Yay.

But the joy is short lived. I tried “zypper patch” again, and it seemed to work, but the first thing it did was uninstall zypper, satsolver, and libzypp. So after that, there was no zypper anymore. So I reinstalled them and this time tried “zypper verify”.


linux-rtd:/media/openSUSE-DVD-i586-Build0024/suse/i586 # zypper verify
Loading repository data...
Reading installed packages...

The following packages are going to be REMOVED:
  libzypp satsolver-tools zypper 

3 packages to remove.
After the operation, 12.8 MiB will be freed.
Some of the dependencies of installed packages are broken. In order to fix these dependencies, the following actions need to be taken:
Continue? [y/n/?] (y): 

So it seems that the first thing anything wants to do when it runs is kill off zypper again.

Can you now do

zypper install zypper

?

Sorry to just barge in…

I think this is my favorite part so far:


linux-rtd:~ # zypper dist-upgrade
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Target initialization failed:
rpmdb2solv -r '/' -p '/etc/products.d'  > '/var/cache/zypp/solv/@System/solvExRwkR'
     /bin/sh: rpmdb2solv: command not found

linux-rtd:~ # cnf rpmdb2solv
                          
The program 'rpmdb2solv' can be found in following packages:
  * satsolver-tools  path: /usr/bin/rpmdb2solv, repository: zypp (repo-oss) ]
  * satsolver-tools  path: /usr/bin/rpmdb2solv, repository: zypp (openSUSE-11.4-11.4-0) ]
  * satsolver-tools  path: /usr/bin/rpmdb2solv, repository: zypp (Updates-for-openSUSE-11.4-11.4-0) ]

Try installing with:
    zypper install satsolver-tools

linux-rtd:~ # zypper install satsolver-tools
Target initialization failed:
rpmdb2solv -r '/' -p '/etc/products.d'  > '/var/cache/zypp/solv/@System/solvKXP6mk'
     /bin/sh: rpmdb2solv: command not found

So, I can’t update because I don’t have rpmdb2solv, and to fix that I just install it via zypper, which can’t do it because I don’t have rpmdb2solv, and to fix that…

I get the same runaround when trying “zypper install zypper”, though that was a good idea.

I’ll try to find a latest satsolver and install that then, and then try again.

Well, unfortunately I think I’ve spent all the time on this I can. I’m afraid that my efforts are just going to fling broken bits of libraries all over the system and I’ll keep finding issues further along, so I’m just going to reinstall the whole OS.

I appreciate the helps and suggestions. Maybe it was fixable, but not by me and not within the time I had.

On 01/31/2012 04:06 PM, rob g wrote:
> so I’m just going to reinstall the whole OS.

when you get that done then review the paragraph on this page which
begins with “IMPORTANT” http://paste.opensuse.org/81397698

and recognize that every time you use a 1-Click install you need to
either elect to not allow the repo to remain enabled, or manually
disable it using YaST Software Repositories

those statements assume the cause of this problem was the introduction
of incompatible software because of the repos which were enabled…which
may not be the case…

this problem could have been caused entirely when the the “system froze”
which then begs the question why did that happen? what does “system
froze” mean to you…how long did you wait to see if it was actually
frozen, or just working in a way you couldn’t easily detect (was the
hard drive light flashing, for example?)


DD http://tinyurl.com/DD-Caveat
Read what Distro Watch writes: http://tinyurl.com/SUSEonDW

I checked that link, and didn’t find any paragraph marked “Important”. Just a screenshot of a list of repositories.

I decided to first try doing an “Upgrade” off the DVD instead of a New Installation. That seemed to go pretty well, but when I finally get back in, zypper still was as broken as before. So I opted for a new installation and reformat of the partition. That is complete and now I’m doing a zypper dist-upgrade on it to see how that goes.

I don’t recall the exact “freeze” that caused all this, but in general, if the keyboard no longer responds, the mouse no longer moves, and the Num Lock key does nothing, then that’s when I consider it unrecoverable. There were no blinking keyboard lights, however, and I could not change to the command line console with ctrl-alt-F1.

On 01/31/2012 05:46 PM, rob g wrote:
>
> I checked that link, and didn’t find any paragraph marked “Important”.
> Just a screenshot of a list of repositories.

sorrry, i gave the wrong link: http://tinyurl.com/33qc9vu

> That is complete and now I’m doing a zypper dist-upgrade on it to see how that goes.

why oh why are you doing “a zypper dist-upgrade” ??
what version did you install?
and what version are you ‘upgrading’ to?
and, why do you want/need to upgrade??

if, after the “zypper dist-upgrade” is complete if you can still boot
and zypper still runs please show us the terminal input/output from:


zypper lr -d
uname -a
cat /etc/SuSE-release

please copy/paste the in/output back to this thread using the
instructions here: http://goo.gl/i3wnr

> I don’t recall the exact “freeze” that caused all this, but in general,
> if the keyboard no longer responds, the mouse no longer moves, and the
> Num Lock key does nothing, then that’s when I consider it unrecoverable.
> There were no blinking keyboard lights, however, and I could not change
> to the command line console with ctrl-alt-F1.

understand…did you try REISUB?


DD http://tinyurl.com/DD-Caveat
Read what Distro Watch writes: http://tinyurl.com/SUSEonDW

I’m only using the default repositories that came with the install, so that makes only 4 enabled repositories, one of them being the install DVD.

why oh why are you doing “a zypper dist-upgrade” ??
what version did you install?
and what version are you ‘upgrading’ to?
and, why do you want/need to upgrade??

I installed 11.4, same as last time. I want the latest, completely patched version of that. I probably could have used zypper patch instead, or zypper update. dist-upgrade seemed more comprehensive, so I went that route, and nothing seems worse for it. Is there some reason not to do that?


linux-59nj:/etc # zypper lr -d
# | Alias                            | Name                             | Enabled | Refresh | Priority | Type   | URI                                                             | Service
--+----------------------------------+----------------------------------+---------+---------+----------+--------+-----------------------------------------------------------------+--------
1 | Updates-for-openSUSE-11.4-11.4-0 | Updates for openSUSE 11.4 11.4-0 | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/11.4/                       |        
2 | openSUSE-11.4-11.4-0             | openSUSE-11.4-11.4-0             | Yes     | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/ata-ATAPI_iHDS118_4,/dev/sr0     |        
3 | repo-debug                       | openSUSE-11.4-Debug              | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/11.4/repo/oss/  |        
4 | repo-debug-update                | openSUSE-11.4-Update-Debug       | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/11.4/                 |        
5 | repo-non-oss                     | openSUSE-11.4-Non-Oss            | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/non-oss/    |        
6 | repo-oss                         | openSUSE-11.4-Oss                | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/oss/        |        
7 | repo-source                      | openSUSE-11.4-Source             | No      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/11.4/repo/oss/ |        



linux-59nj:/etc # uname -a
Linux linux-59nj 2.6.37.6-0.11-desktop #1 SMP PREEMPT 2011-12-19 23:39:38 +0100 i686 i686 i386 GNU/Linux



linux-59nj:/etc # cat SuSE-release
openSUSE 11.4 (i586)
VERSION = 11.4
CODENAME = Celadon

understand…did you try REISUB?

That’s a new one to me…I’ll have to write that down.

On 2012-01-31 15:16, rob g wrote:
> So it seems that the first thing anything wants to do when it runs is
> kill off zypper again.

You could have tried YaST instead.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)