Description of problem: When you attempt to use up2date to upgrade rpm on an Enterprise Linux 3 U3 for AMD64 (x86_64) using the current version of up2date avaiable (up2date-4.2.57-2) the upgrade attempt will fail with an error message : Unresolvable chain of dependencies: rpm-libs 4.2.3-13 requires libelf.so.1 rpm-libs 4.2.3-13 requires libelf.so.1(ELFUTILS_1.0) Version-Release number of selected component (if applicable): # rpm -qa --qf='%{n}-%{v}-%{r}-%{ARCH}\n' | egrep '^rpm|elfutil|up2date|redhat-release' | sort elfutils-0.91-3-x86_64 elfutils-devel-0.91-3-x86_64 elfutils-libelf-0.91-3-x86_64 elfutils-libelf-devel-0.91-3-x86_64 redhat-release-3AS-12.3-x86_64 rpm-4.2.3-10-x86_64 rpm-build-4.2.3-10-x86_64 rpmdb-redhat-3-0.20040902-x86_64 rpm-devel-4.2.3-10-x86_64 rpm-libs-4.2.3-10-x86_64 rpm-python-4.2.3-10-x86_64 up2date-4.2.57-2-x86_64 up2date-gnome-4.2.57-2-x86_64 up2date-update-4.2.38-1-x86_64 # cat /etc/rpm/platform x86_64-redhat-linux # uname -a Linux dhcp206.rhndev.redhat.com 2.4.21-20.EL #1 Wed Aug 18 20:48:55 EDT 2004 x86_64 x86_64 x86_64 GNU/Linux # arch x86_64 # How reproducible: Every time. Steps to Reproduce: 1. Get access to an AMD64 system. Perform a fresh install (in my case I used kickstart with: @ Base @ GNOME @ Kernel Development @ Text-based Internet @ Web Server 2. Make sure up2date is newest version (up2date up2date) 3. Verify that you only have the x86_64 versions of packages as shown by the output of command string (above) "rpm -qa --qf='%{n}-%{v}-%{r}-%{ARCH}\n' | egrep '^rpm|elfutil|up2date|redhat-release' | sort" 4. Subscribe system to only channel rhel-x86_64-as-3 5. run command: up2date rpm 6. Note it fails. Actual results: # up2date -v rpm Fetching Obsoletes list for channel: rhel-x86_64-as-3... Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- rpm 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. Testing package set / solving RPM inter-dependencies... There was a package dependency problem. The message was: Unresolvable chain of dependencies: rpm-libs 4.2.3-13 requires libelf.so.1 rpm-libs 4.2.3-13 requires libelf.so.1(ELFUTILS_1.0) # Snip of output when doing "up2date -vv rpm" Testing package set / solving RPM inter-dependencies... D: Candidates for the selected list: [['rpm', '4.2.3', '13', '', 'x86_64', '577527', 'rhel-x86_64-as-3']] D: Adding to transaction set ['rpm', '4.2.3', '13', '', 'x86_64', '577527', 'rhel-x86_64-as-3'] D: Selected so far [['rpm', '4.2.3', '13', '', 'x86_64', '577527', 'rhel-x86_64-as-3']] D: Checking for dependencies D: RPM returned 4 deps. D: Processing dependency (('rpm-build', '4.2.3', '10'), ('rpm', '4.2.3-10'), 8, None, 0) D: Processing dependency (('rpm-devel', '4.2.3', '10'), ('rpm', '4.2.3-10'), 8, None, 0) D: Processing dependency (('rpm-libs', '4.2.3', '10'), ('rpm', '4.2.3-10'), 8, None, 0) D: Processing dependency (('rpm-python', '4.2.3', '10'), ('rpm', '4.2.3-10'), 8, None, 0) D: Dependencies: [('rpm-build', 'rpm'), ('rpm-devel', 'rpm'), ('rpm-libs', 'rpm'), ('rpm-python', 'rpm')] D: Dep ['rpm', 'rpm', 'rpm', 'rpm'] Fetched via: [['rpm', '4.2.3', '13', '', 'x86_64', '577527', 'rhel-x86_64-as-3']] D: Got back response: [['rpm', '4.2.3', '13', '', 'x86_64', '577527', 'rhel-x86_64-as-3']] D: Already selected: ['rpm', '4.2.3', '13', '', 'x86_64', '577527', 'rhel-x86_64-as-3'] D: Package rpm-build raised invalid dependency. Adding ['rpm-build', '4.2.3', '13', '', 'x86_64', '478854', 'rhel-x86_64-as-3'] to set D: Package rpm-devel raised invalid dependency. Adding ['rpm-devel', '4.2.3', '13', '', 'x86_64', '2778942', 'rhel-x86_64-as-3'] to set D: Package rpm-libs raised invalid dependency. Adding ['rpm-libs', '4.2.3', '13', '', 'i386', '718083', 'rhel-x86_64-as-3'] to set D: Package rpm-python raised invalid dependency. Adding ['rpm-python', '4.2.3', '13', '', 'x86_64', '45048', 'rhel-x86_64-as-3'] to set D: Candidates for the selected list: [['rpm-build', '4.2.3', '13', '', 'x86_64', '478854', 'rhel-x86_64-as-3'], ['rpm-devel', '4.2.3', '13', '', 'x86_64', '2778942', 'rhel-x86_64-as-3'], ['rpm-libs', '4.2.3', '13', '', 'i386', '718083', 'rhel-x86_64-as-3'], ['rpm-python', '4.2.3', '13', '', 'x86_64', '45048', 'rhel-x86_64-as-3']] Expected results: For up2date to correctly upgrade rpm to the newest version. Additional info: Will post additional infomation (long) soon.
As you see within the debug output from up2date. Up2date from what I can tell is doing the following : - grabs headers - determines (correctly) new version of rpm to be installed - looks for the dependancies needed to meet the upgrade of rpm - gets a list of packages needed - rpm-build, rpm-devel, rpm-libs & rpm-python - incorrectly determines that rpm-libs-4.2.3-13.i386 meets the dependancies needed for rpm-4.2.3-13.x86_64 : D: Package rpm-libs raised invalid dependency. Adding ['rpm-libs', '4.2.3', '13', '', 'i386', '718083', 'rhel-x86_64-as-3'] to set - This I believe is because the rpm-libs-4.2.3-13 is within the rhel-x86_64-as-3 as both an .i386 and .x86_64 package, but the listing of packages up2date gets, lists the .i386 version before the .x86_64 version. - Since up2date does not perform any validation of the arch type when querying for dependancies up2date assumes the .i386 of rpm-libs does meet the dependancy required by the .x86_64 rpm package and this then triggers the rest of up2date attempting to meet the required dependancies for the .i386 version of rpm-libs and eventually fails. The resolution it seems to this is to rewrite the code within up2date's up2date_client/depSolver.py file such that it does correctly take into account the arch of a package and most like make the assumption that a x86_64 package has a dependancy for another x86_64 package in the channel, if no such package by the same matching arch exists, look for any other packages which provide that dependancy. From my testing I can also state the following to be true, and can be used as alternative methods to work arround this issue. 1 - If you schedule the rpm errata to be applied to a system via the RHN web interface and then use rhn_check to pull down the new rpm packages - this works fine. # rhn_check -v errata.update ([289],) Name Version Rel ---------------------------------------------------------- popt 1.8.2 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. rpm 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. rpm-build 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. rpm-devel 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. rpm-libs 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. rpm-python 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. popt-1.8.2-13.x86_64.rpm: ########################## Done. rpm-4.2.3-13.x86_64.rpm: ########################## Done. rpm-build-4.2.3-13.x86_64.r ########################## Done. rpm-devel-4.2.3-13.x86_64.r ########################## Done. rpm-libs-4.2.3-13.x86_64.rp ########################## Done. rpm-python-4.2.3-13.x86_64. ########################## Done. Preparing ########################################### [100%] Installing... 1:popt ########################################### [100%] 2:rpm-libs ########################################### [100%] 3:rpm ########################################### [100%] 4:rpm-build ########################################### [100%] 5:rpm-devel ########################################### [100%] 6:rpm-python ########################################### [100%] # 2 - If I manually download the (x86_64) rpm packages, I can manually upgrade rpm to the new version using rpm -Uvh. Any attempt to use setarch or the --arch flags does not resolve the issue. Attempted : # setarch x86_64 up2date -v rpm Fetching Obsoletes list for channel: rhel-x86_64-as-3... Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- rpm 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. Testing package set / solving RPM inter-dependencies... There was a package dependency problem. The message was: Unresolvable chain of dependencies: rpm-libs 4.2.3-13 requires libelf.so.1 rpm-libs 4.2.3-13 requires libelf.so.1(ELFUTILS_1.0) # up2date --arch x86_64 -v rpm Fetching Obsoletes list for channel: rhel-x86_64-as-3... ######################################## Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- rpm 4.2.3 13 x86_64 [RHBA-2004:501-07] An updated rpm package that allows concurrent rpmdb access is now available. Testing package set / solving RPM inter-dependencies... There was a package dependency problem. The message was: Unresolvable chain of dependencies: rpm-libs 4.2.3-13 requires libbeecrypt.so.6 rpm-libs 4.2.3-13 requires libbz2.so.1 rpm-libs 4.2.3-13 requires libc.so.6 rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.0) rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.1) rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.1.3) rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.2) rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.2.3) rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.3) rpm-libs 4.2.3-13 requires libc.so.6(GLIBC_2.3.2) rpm-libs 4.2.3-13 requires libelf.so.1 rpm-libs 4.2.3-13 requires libelf.so.1(ELFUTILS_1.0) rpm-libs 4.2.3-13 requires libpopt.so.0 rpm-libs 4.2.3-13 requires libpthread.so.0 rpm-libs 4.2.3-13 requires libpthread.so.0(GLIBC_2.0) rpm-libs 4.2.3-13 requires libpthread.so.0(GLIBC_2.1) rpm-libs 4.2.3-13 requires libpthread.so.0(GLIBC_2.2) rpm-libs 4.2.3-13 requires libpthread.so.0(GLIBC_2.3.2) rpm-libs 4.2.3-13 requires librt.so.1 rpm-libs 4.2.3-13 requires libz.so.1 #
I've seen this a few times as well. It seems to be fixed by installing both the x86 and x86_64 versions of all of the elfutils-* packages.
The release intended for u6 is from the up2date-4.4.x series, and will include a fix for this.
This bug is considered MustFix for RHEL 3 U6 by RHN Engineering.
Dev & PM ACKs for U6
please include a test plan
On an AMD64 system, try the following # up2date rpm (..) Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- rpm 4.2.3 13 x86_64 Testing package set / solving RPM inter-dependencies... There was a package dependency problem. The message was: Unresolvable chain of dependencies: rpm-libs 4.2.3-13 requires libelf.so.1 rpm-libs 4.2.3-13 requires libelf.so.1(ELFUTILS_1.0) This is a reliable reproducer and should tell whether the problem is still in up2date. -Imed
test plan: 1. install rhel3, say, u1 on a 64bit box, (amd64) 2. install latest up2date 3. `up2date rpm` 4. Should install correctly with no error
I followed the Steps to Reproduce but still got a failure due to dependency issues. [root@vzlatkin-64 up2date-4.2.57-2]# uname -a Linux vzlatkin-64.rdu.redhat.com 2.4.21-27.EL #1 Wed Dec 1 22:07:17 EST 2004 x86_64 x86_64 x86_64 GNU/Linux [root@vzlatkin-64 up2date-4.2.57-2]# rpm -q redhat-release redhat-release-3AS-12.4 This is RHEL 3 U4 AS. [root@vzlatkin-64 up2date-4.2.57-2]# up2date rpm Fetching Obsoletes list for channel: rhel-x86_64-as-3... Fetching Obsoletes list for channel: playpen-4AS... Fetching Obsoletes list for channel: support-4AS... Fetching Obsoletes list for channel: playpen-3AS... Fetching Obsoletes list for channel: support-3AS... Fetching Obsoletes list for channel: playpen-java-3AS... Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- rpm 4.2.3 21_nonptl x86_64 Testing package set / solving RPM inter-dependencies... Downloading headers to solve dependencies... ####################################### Downloading headers to solve dependencies... ####################################### Downloading headers to solve dependencies... ####################################### Downloading headers to solve dependencies... ####################################### Downloading headers to solve dependencies... ####################################### Downloading headers to solve dependencies... There was a package dependency problem. The message was: Unresolvable chain of dependencies: rpm-libs 4.2.3-21_nonptl requires libelf.so.1 rpm-libs 4.2.3-21_nonptl requires libelf.so.1(ELFUTILS_1.0) The following packages were added to your selection to satisfy dependencies: Package Required by ---------------------------------------------------------------------------- glibc-2.3.2-95.33.x86_64 glibc-utils-2.3.2-95.30 glibc [root@vzlatkin-64 up2date-4.2.57-2]# rpm -q up2date up2date-4.4.27-3 From the web UI: Summary: Package Install scheduled by bnackash Details: This action will be executed after 2005-07-10 15:01:48 EDT. This action's status is: Failed. The client picked up this action on 2005-07-10 15:01:54 EDT. The client completed this action on 2005-07-10 15:02:11 EDT. Client execution returned "Failed: packages requested raised dependency problems" (code 18) Packages Scheduled: * rpm-4.2.3-21_nonptl Dependency errors encountered: * rpm-libs-4.2.3-21_nonptl needs libelf.so.1 * rpm-libs-4.2.3-21_nonptl needs libelf.so.1(ELFUTILS_1.0
fix should be in 4.4.33
with rhel 3 u3 and up2date-4.4.33: [root@mspevack64 root]# rpm -q up2date up2date-4.4.33-3 [root@mspevack64 root]# up2date rpm 0. debug No 1. useRhn Yes 2. rhnuuid 35f2e080-042d-11da-8972-00d0b74d46de 3. isatty Yes 4. showAvailablePacka No 5. retrieveOnly No 6. enableRollbacks No 7. noSSLServerURL http://xmlrpc.rhn.redhat.com/XMLRPC 8. pkgSkipList ['kernel*'] 9. storageDir /var/spool/up2date 10. adminAddress ['root@localhost'] 11. noBootLoader No 12. serverURL https://xmlrpc.rhn.webqa.redhat.com/XMLRPC 13. fileSkipList [] 14. versionOverride 15. sslCACert /usr/share/rhn/RHNS-CA-CERT 16. noReplaceConfig Yes 17. useNoSSLForPackage No 18. systemIdPath /etc/sysconfig/rhn/systemid 19. enableProxyAuth No 20. retrieveSource No 21. disallowConfChange ['noReboot', 'sslCACert', 'useNoSSLForPackages', 'noSSLSe 22. headerFetchCount 10 23. networkRetries 5 24. pkgsToInstallNotUp ['kernel', 'kernel-modules', 'kernel-devel'] 25. enableProxy No 26. proxyPassword 27. updateUp2date Yes 28. keepAfterInstall No 29. proxyUser 30. removeSkipList ['kernel*'] 31. useGPG No 32. gpgKeyRing /etc/sysconfig/rhn/up2date-keyring.gpg 33. httpProxy 34. headerCacheSize 40 35. forceInstall No 36. noReboot No Enter number of item to edit <return to exit, q to quit without saving>: Fetching Obsoletes list for channel: rhel-x86_64-as-3... ######################################## Fetching Obsoletes list for channel: rhn-tools-rhel-3-as-x86_64... ######################################## Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- rpm 4.2.3 21_nonptl x86_64 Testing package set / solving RPM inter-dependencies... ######################################## rpm-4.2.3-21_nonptl.x86_64. ########################## Done. rpm-libs-4.2.3-21_nonptl.x8 ########################## Done. rpm-python-4.2.3-21_nonptl. ########################## Done. Preparing ########################################### [100%] Installing... 1:rpm-libs ########################################### [100%] 2:rpm ########################################### [100%] 3:rpm-python ########################################### [100%] The following packages were added to your selection to satisfy dependencies: Name Version Release -------------------------------------------------------------- rpm-libs 4.2.3 21_nonptl rpm-python 4.2.3 21_nonptl [root@mspevack64 root]#
PROD_READY is a deprecated state. This bug is now RELEASE_PENDING.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2005-712.html