Zypper Error While Attempting to Install Apps

OpenSUSE 11.3
Zypper 1.4.8-0.2.4 (i586)

When attempting to run commands of zypper:

$ sudo zypper install <XXX>
$ sudo zypper help
$ sudo zypper services

The following error is displayed:

zypper: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: PC

I looked through my command history to verify I hadn’t done anything stupid. The only thing I had done since my last zypper command was to install ngspice…WITH zypper.

Looks to me like libreadline.so.6 is corrupt.

Is there a way I can “update” or reinstall libreadline.so.6 with an uncorrupted version without bricking my OS? I looked into uninstalling libreadline.so.6 from Yast Software Manager (GUI) but it throws all kinds of warnings about how it can’t complete operations and it will break links and such…so I’d like to avoid it unless a guru says otherwise.

Maybe you gurus have another idea of what’s wrong?

Thanks! :slight_smile:

-Dustin

Hi there

looks like there was a similar problem on Ubuntu [ubuntu] Can’t update or use package manager – gpg error - Ubuntu Forums](http://ubuntuforums.org/showthread.php?t=1484848)

kind of modifying the instructions from that above link here…but give this a try:

Backup the libreadline.so files and reinstall them with rpm instead of zypper/yast
For i586 systems, try the following as root:

 mkdir /root/BACKUP
mv /lib/libreadline* /root/BACKUP
wget http://download.opensuse.org/distribution/11.3/repo/oss/suse/i586/libreadline6-6.1-8.1.i586.rpm
rpm -Uvh libreadline6-6.1-8.1.i586.rpm --replacepkgs

once that is done try doing a zypper refresh

If all is good, you can delete your backup files with the following (as root)

rm -rf /root/BACKUP

openSUSE doesn’t install ANYTHING in /usr/local. So/usr/local/lib/libreadline.so.6 is a file you installed… If you don’t like it just delete it.

RedDwarf wrote:
> physeetcosmo;2274251 Wrote:
>> zypper: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined
>> symbol: PC
> openSUSE doesn’t install ANYTHING in /usr/local.
> So/usr/local/lib/libreadline.so.6 is a file you installed… If you
> don’t like it just delete it.

or maybe s/he used an rpm (or deb file) to install a package that laid
it into /usr/local…

which is imHo not a good idea…


DenverD
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]
“Woe be to s/he who does not count me.” DenverD 5 Jan 11
http://goo.gl/9a072

pimanac wrote:
> looks like there was a similar problem on Ubuntu ‘[ubuntu] Can’t update
> or use package manager – gpg error - Ubuntu Forums’
> (http://ubuntuforums.org/showthread.php?t=1484848)
>
> kind of modifying the instructions from that above link here…but give
> this a try:

i’ve not tried your prescription so i do not know if it works or not,
but i do believe that modifying prescriptions built for Ubuntu and
applying them here is risky business…


DenverD
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]
“Woe be to s/he who does not count me.” DenverD 5 Jan 11
http://goo.gl/9a072

@Pimanac Yes your method worked, zypper works again. However I had to copy the “new” libreadline.so.6 into the /usr/local/lib/ directory for zypper to stop complaining.

@DenverD I agree, I thought that I had installed something that caused issues (installing a “non-repository” rpm or something). However, WHY would that affect zypper operation? :slight_smile:

Thanks dudes!

-Dustin B (male by the way :wink: )

Glad it worked. If you remember which “non-repository” let us know, so it can serve as a warning to others :wink:

physeetcosmo wrote:
> @DenverD I agree, I thought that I had installed something that caused
> issues (installing a “non-repository” rpm or something). However, WHY
> would that affect zypper operation? :slight_smile:

well, zypper is a software program…and, if you don’t know what you
may have installed which might affect zypper how could you expect
me to know what might be wrong?

for all i know you may have use alien to install a deb package…or,
maybe installed an RPM made for Red Hat that you should not have…or
who knows what…

personally, because i really like a stable, reliable, predictable
system i use only the basic four repos (oss, non-oss, update and
packman) and do my best to only use applications available in those
four repos…

if i find a need to go outside of those, then i usually go to the
wellspring of what i need (using google to find it), fetch the latest
stable source code, check to make sure it has not been tampered with,
then compile, solve dependencies through iteration and install…

and, then when i get it “just right” i stop fiddling with it…

but, you will find lots of folks who do it in lots of different ways…


DenverD
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]

What if there were no hypothetical questions?

On Fri, 07 Jan 2011 16:06:01 +0000, physeetcosmo wrote:

> @DenverD I agree, I thought that I had installed something that caused
> issues (installing a “non-repository” rpm or something). However, WHY
> would that affect zypper operation? :slight_smile:

Because RPMs contain dependency information, not only “requires” but
“provides”, and if an RPM installed from outside Zypper happens to
include dependency information that creates a conflict, Zypper can’t
resolve the conflicts because the source of the package is unknown.

Jim


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

That’s the wrong fix. If a libreadline6 security update is released your system will continue using the vulnerable version.

If it was installed from a RPM a

rpm -qf /usr/local/lib/libreadline.so.6

will say which one.

But since most RPMs use /usr instead of /usr/local as prefix and autotools uses /usr/local by default, it’s more probable that file comes from a source install.

That’s the wrong fix. If a libreadline6 security update is released your system will continue using the vulnerable version.