Bug 81308

Summary: rpm-4.1 relocation error: poptSaveInt for rh7.3->rh8 upgrade
Product: [Retired] Red Hat Linux Reporter: Ruth Ivimey-Cook <ruth>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED WORKSFORME QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-01-09 14:11:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Ruth Ivimey-Cook 2003-01-07 22:47:22 UTC
Description of problem:
Upgrading to rh8 from rh7.3 version of rpm fails, althought it looks as if it 
worked (that is, the rpm -U works, but the program doesn't). With the rh8 
version of rpm, I get a ld.so? error as follows:
/usr/lib/rpm/rpmq: relocation error: /usr/lib/librpmdb-4.1.so: undefined 
symbol: poptSaveInt

In trying to sort this out:

 1. I reverted to the original 7.3 version of rpm; this works, but of course 
there are some package-compatibility problems (e.g. up2date). adequate, but 
not desireable.

 2. I fetched the rpm-4.1 tar file, compiled it and installed it (using 
prefix=/usr). The result was indistinguishable from the pre-packaged version.

 3. I (in desperation) decided to try the rawhide version of rpm. This 
required upgrading of glibc, which I checked and decided ought to be safe-ish. 
Might have been wrong there, because although most programs still work, when I 
try to use rpm-4.1 to upgrade something (e.g. to rpm-4.2) I get the 
error: "cannot cope with TLS data". I note that glibc is now installed 
in /lib/tls -- what is tls (other than transport-level-security, which doesn't 
make sense to me in this context).

Note that in most cases, the rpm option to upgrade a package works; it's --
erase, --query that fail. However, (3) above has resulted in an rpm that 
cannot upgrade, although it does manage the initial check.

Hoping you can help :-)

There is a thought in my mind that it is an rpmdb problem, not strictly rpm, 
but I am confused...

Version-Release number of selected component (if applicable):
glibc 2.2, glibc 2.3, rpm-4.0.4, rpm-4.1, rpm-4.2

How reproducible:

Steps to Reproduce:
1. rpm -q rpm
Actual results:
/usr/lib/rpm/rpmq: relocation error: /usr/lib/librpmdb-4.1.so: undefined 
symbol: poptSaveInt

Expected results:

Comment 1 Jeff Johnson 2003-01-08 23:13:37 UTC
You needed to upgrade popt when you upgraded rpm.

Comment 2 Ruth Ivimey-Cook 2003-01-09 00:00:58 UTC
I did upgrade popt: indeed, I also verified it's upgrade with rpm -verify and 
rpm -U against the rpm file from the distribution.

It is possible that the wrong library is being found somewhere, but how can I 

However, I have just tried again, and it seems to work :-)  I didn't reboot 
straight away (wanting to make sure that when I did reboot, it would still 
operate properly). Is it possible that the wrong popt library was in memory 
still, and so was linked in preference to the correct one?

Comment 3 Jeff Johnson 2003-01-09 14:11:47 UTC
/sbin/ldconfig is run when popt is installed/erased
so a running memory image is unlikely to be the explanation.