Bug 1042

Summary: Programs linked to specific library versions (not present on 5.1 CD)
Product: [Retired] Red Hat Linux Reporter: keybounce
Component: newtAssignee: David Lawrence <dkl>
Status: CLOSED NOTABUG QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 5.1   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-05-15 19:09:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description keybounce 1999-02-04 18:55:04 UTC
There is a problem with the libraries on 5.1.
Some programs are linked against a specific version of a
library,
which does not seem to be present.

Incidently, is there a way to ask rpm what uninstalled
package
provides something? Specifically, which uninstalled package
provides
a given file, or a given functionality? I can get a list of
the
files, or a list of the functionalities, but to get the name
of the
rpm, I can only do that if the package is installed. I must
be
missing some obvious flag to rpm, right?

Notice that libnewt.so.0.20 is a functionality provided, but
the
actual version of the library is libnewt.so.0.25.

Worse, to install the new 3.3.3.1 X servers, something (I no
longer
remember what, maybe Xconfigurator) actually needed
libnewt.so.0.30.
Except that I could not figure out any way to install both
the .30
package and the original package at the same time -- no way
to say
"these two packages with the same name are not the same
package, and
both need to be entered into the rpm database". I wound up
uninstalling
libnewt and reinstalling libnewt to do this.

The "obvious" fix -- symbolic link the .30 library to the
.20 name --
did not work. Message was:

                        hwdiag: error in loading shared
libraries

     : undefined symbol: newtListboxAddEntry
                        [root@new-server lib]#

Incidently, even with the newer (.30) version of the newt
package installed,
the symlink in /usr/lib/libnewt.so was still to
/usr/lib/libnewt.so.0.25.

(you have no idea how much I wish I had known about hwdiag
before, when I was
installing on a older (486) machine, nor how much more
frustrated I'd be if
I had known about it then and still could not get it to
work. But that was
a 5.0 install, and I don't know that 5.0 had hwdiag)

NB: Installing libnewt from the 5.0 CD did work, so this is
no longer a
problem. There was one file in conflict (whiptail, I
believe) between the
two. However, I noticed that a rpm -ql on the 5.0 libnewt
did not mention
/usr/lib/libnewt.so.0.20, yet that symlink to .21 was
installed.

So why are we trying to get 5.1 installed when 5.2 is
current? A commercial
database program -- O2 -- requires 5.1, not 5.2. I wonder if
they have
hard coded library usage also.

Incidently, the only one of these programs that we actually
need is
sndconfig -- everything else we have working, but I have no
idea how
to specify the sound system.

And, after finally getting it all to work, my sound card --
a pnp,
OPL3, SB compatible, is not auto configured. Sheesh, go
figure.

Ok, after finally getting everything to work, hwdiag does
little more
than format the output of /proc/pci and probe for
mice/modems. Sndconfig
will -- guaranteed -- disable my pnp ethernet board during
the probe.

Now, next question: The system, as of 5.0, can auto-detect
and work with
PCI cards, such as ethernet tulip's; and 5.1 can auto-detect
AGP video
cards. There is a pnpdump program that identifies the type
of ethernet
and type of sound card. Yet there is no auto-config of PNP
cards. Why?

CD version: MacMillan publishing
"The Complete redhat LINUX operating system 5.1"

	Michael Gersten
keybounce

[root@new-server RPMS]# rpm -q --whatrequires
libnewt.so.0.20
chkconfig-0.9.3-2
kbdconfig-1.6-2
rhs-hwdiag-0.20-2
sndconfig-0.21-2
timeconfig-2.2-2
[root@new-server RPMS]# rpm -qp * --provides | egrep newt
TRANS.TBL does not appear to be a RPM package
query of TRANS.TBL failed
libnewt.so.0.20
[root@new-server RPMS]# rpm -qlp * | egrep newt
TRANS.TBL does not appear to be a RPM package
query of TRANS.TBL failed
/usr/lib/libnewt.so.0.25
/usr/include/newt.h
/usr/lib/libnewt.a
/usr/lib/libnewt.so
/usr/lib/perl5/i386-linux/5.00404/newt.ph
[root@new-server RPMS]# chkconfig
chkconfig version 0.9.3 - Copyright (C) 1997 Red Hat
Software
This may be freely redistributed under the terms of the GNU
Public License.

usage:   chkconfig --list [name]
         chkconfig --add <name>
         chkconfig --del <name>
         chkconfig [--level <levels>] <name> <on|off|reset>
[root@new-server RPMS]# kbdconfig
kbdconfig: error in loading shared libraries
libnewt.so.0.20: cannot open shared object file: No such
file or directory
[root@new-server RPMS]# rhs-hwdiag
bash: rhs-hwdiag: command not found
[root@new-server RPMS]# hwdiag
hwdiag: error in loading shared libraries
libnewt.so.0.20: cannot open shared object file: No such
file or directory
[root@new-server RPMS]# sndconfig
sndconfig: error in loading shared libraries
libnewt.so.0.20: cannot open shared object file: No such
file or directory
[root@new-server RPMS]# timeconfig
timeconfig: error in loading shared libraries
libnewt.so.0.20: cannot open shared object file: No such
file or directory

Comment 1 Jeff Johnson 1999-05-15 19:09:59 UTC
These are not software bugs (and MacMillan does their own support)

rpmfind is the best way to locate a package that provides something
that is not installed.

PNP is better supported in later versions of Red Hat.