Bug 1373810

Summary: Packages don't self-conflict
Product: [Fedora] Fedora Reporter: aljosha.papsch <aljosha.papsch>
Component: dnfAssignee: rpm-software-management
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: abokovoy, aljosha.papsch, jsilhan, j, mitch, mluscon, nalin, npmccallum, packaging-team-maint, pnemade, rharwood, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-22 06:57:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
DNF Logfiles none

Description aljosha.papsch 2016-09-07 07:57:39 UTC
Description of problem:
Installing openssl-devel requires libkadm5, which conflicts with krb5-libs.

Version-Release number of selected component (if applicable):
libkadm5: 1.14.3-8
krb5-libs: 1.14.1-6

How reproducible:
Install openssl-devel.

Steps to Reproduce:
1. dnf install openssl-devel

Actual results:
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/lib64/libkadm5clnt_mit.so.10.0 from install of libkadm5-1.14.3-8.fc24.x86_64 conflicts with file from package krb5-libs-1.14.1-6.fc24.x86_64
  file /usr/lib64/libkadm5srv_mit.so.10.0 from install of libkadm5-1.14.3-8.fc24.x86_64 conflicts with file from package krb5-libs-1.14.1-6.fc24.x86_64

Expected results:
Package would install successfully.

Additional info:

Comment 1 Robbie Harwood 2016-09-07 17:08:23 UTC
You're trying to use two different versions of krb5 packages.  This will never work.  Please upgrade and try again.

Comment 2 aljosha.papsch 2016-09-08 08:01:31 UTC
I upgraded packages and installing openssl-devel fails again. I try this on server edition. It runs in a virtual machine because I wanted to compile gvpe for production machines and my desktop runs a different distribution.

Today I also installed workstation edition in a virtual machine and installing openssl-devel succeeds including installing libkadm5. I will now compile gvpe and transfer the result to Fedora servers.

I guess this bug is invalid; server edition isn't intended for compilation and workstation should be used instead.

Comment 3 Robbie Harwood 2016-09-08 16:05:12 UTC
The current version of krb5 packaging in fedora 24 is 1.14.3-8.  If you insist on using krb5-libs-1.14.1-6.fc24.x86_64 I can't guarantee anything will work because that is not the current version.

Comment 4 Mitch Davis 2016-09-21 18:57:43 UTC
Just had the same issue occur for me.  It appears that somehow both versions of krb5-libs were installed at the same time:



[mitch@mitch-laptop gr_local]$ rpm -qa | grep krb5-libs                         
krb5-libs-1.14.3-8.fc24.x86_64
krb5-libs-1.14.1-6.fc24.x86_64



I'm not entirely sure why or how that happened, but that explained why a 'dnf upgrade' or any other gyrations about krb5-libs wouldn't upgrade to the 1.14.3-8:



$ sudo dnf upgrade
Last metadata expiration check: 1:01:26 ago on Wed Sep 21 13:42:53 2016.
Dependencies resolved.
Nothing to do.
Complete!

$ dnf list available krb5-libs
Last metadata expiration check: 0:50:44 ago on Wed Sep 21 13:53:56 2016.
Available Packages
krb5-libs.i686                       1.14.3-8.fc24                       updates

$ sudo dnf remove krb5-libs-1.14.1-6.fc24.x86_64
Dependencies resolved.
================================================================================
 Package         Arch         Version              Repository              Size
================================================================================
Removing:
 krb5-libs       x86_64       1.14.1-6.fc24        @koji-override-0       2.2 M

Transaction Summary
================================================================================
Remove  1 Package

Installed size: 2.2 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Erasing     : krb5-libs-1.14.1-6.fc24.x86_64                              1/1 
  Verifying   : krb5-libs-1.14.1-6.fc24.x86_64                              1/1 

Removed:
  krb5-libs.x86_64 1.14.1-6.fc24                                                

Complete!



And then, openssl-devel will successfully satisfy its dependencies:

$ sudo dnf install openssl-devel
Last metadata expiration check: 1:03:58 ago on Wed Sep 21 13:42:53 2016.
Dependencies resolved.
================================================================================
 Package                  Arch        Version                Repository    Size
================================================================================
Installing:
 keyutils-libs-devel      x86_64      1.5.9-8.fc24           fedora        46 k
 krb5-devel               x86_64      1.14.3-8.fc24          updates      667 k
 libcom_err-devel         x86_64      1.42.13-4.fc24         fedora        36 k
 libkadm5                 x86_64      1.14.3-8.fc24          updates      170 k
 libselinux-devel         x86_64      2.5-9.fc24             updates      193 k
 libsepol-devel           x86_64      2.5-8.fc24             updates       80 k
 libverto-devel           x86_64      0.2.6-6.fc24           fedora        16 k
 openssl-devel            x86_64      1:1.0.2h-3.fc24        updates      1.5 M

Transaction Summary
================================================================================
Install  8 Packages

Downloading Packages:                                                  [16/1952]
[SKIPPED] openssl-devel-1.0.2h-3.fc24.x86_64.rpm: Already downloaded           
[SKIPPED] krb5-devel-1.14.3-8.fc24.x86_64.rpm: Already downloaded              
[SKIPPED] libkadm5-1.14.3-8.fc24.x86_64.rpm: Already downloaded                
[SKIPPED] libselinux-devel-2.5-9.fc24.x86_64.rpm: Already downloaded           
[SKIPPED] libsepol-devel-2.5-8.fc24.x86_64.rpm: Already downloaded             
[SKIPPED] keyutils-libs-devel-1.5.9-8.fc24.x86_64.rpm: Already downloaded      
[SKIPPED] libcom_err-devel-1.42.13-4.fc24.x86_64.rpm: Already downloaded       
[SKIPPED] libverto-devel-0.2.6-6.fc24.x86_64.rpm: Already downloaded           
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : libverto-devel-0.2.6-6.fc24.x86_64                          1/8 
  Installing  : libcom_err-devel-1.42.13-4.fc24.x86_64                      2/8 
  Installing  : keyutils-libs-devel-1.5.9-8.fc24.x86_64                     3/8 
  Installing  : libsepol-devel-2.5-8.fc24.x86_64                            4/8 
  Installing  : libselinux-devel-2.5-9.fc24.x86_64                          5/8 
  Installing  : libkadm5-1.14.3-8.fc24.x86_64                               6/8 
  Installing  : krb5-devel-1.14.3-8.fc24.x86_64                             7/8 
  Installing  : openssl-devel-1:1.0.2h-3.fc24.x86_64                        8/8 
  Verifying   : openssl-devel-1:1.0.2h-3.fc24.x86_64                        1/8
  Verifying   : krb5-devel-1.14.3-8.fc24.x86_64                             2/8 
  Verifying   : libkadm5-1.14.3-8.fc24.x86_64                               3/8 
  Verifying   : libselinux-devel-2.5-9.fc24.x86_64                          4/8 
  Verifying   : libsepol-devel-2.5-8.fc24.x86_64                            5/8 
  Verifying   : keyutils-libs-devel-1.5.9-8.fc24.x86_64                     6/8 
  Verifying   : libcom_err-devel-1.42.13-4.fc24.x86_64                      7/8 
  Verifying   : libverto-devel-0.2.6-6.fc24.x86_64                          8/8 

Installed:
  keyutils-libs-devel.x86_64 1.5.9-8.fc24  krb5-devel.x86_64 1.14.3-8.fc24      
  libcom_err-devel.x86_64 1.42.13-4.fc24   libkadm5.x86_64 1.14.3-8.fc24        
  libselinux-devel.x86_64 2.5-9.fc24       libsepol-devel.x86_64 2.5-8.fc24     
  libverto-devel.x86_64 0.2.6-6.fc24       openssl-devel.x86_64 1:1.0.2h-3.fc24 

Complete!





Another similar case from Aug 2016: http://forums.fedoraforum.org/showthread.php?t=311198

Comment 5 Robbie Harwood 2016-09-21 22:59:39 UTC
Apparently this is a thing that can just happen.  Reassigning to the package manager.

Comment 6 Igor Gnatenko 2016-09-22 06:57:28 UTC
Package manager can't do much about this.

Comment 7 Robbie Harwood 2016-09-22 13:09:23 UTC
(In reply to Igor Gnatenko from comment #6)
> Package manager can't do much about this.

I... what?  As far as I can tell the package manager should absolutely prevent two installations of the same package.  Why is it sane to do otherwise?

Comment 8 Igor Gnatenko 2016-09-22 13:11:49 UTC
(In reply to Robbie Harwood from comment #7)
> (In reply to Igor Gnatenko from comment #6)
> > Package manager can't do much about this.
> 
> I... what?  As far as I can tell the package manager should absolutely
> prevent two installations of the same package.  Why is it sane to do
> otherwise?
Well, you can abort transaction (because of electricity problems, Ctrl+c or whatever reason). There is RFE opened to try to automagically restore after such situations, but it's not bug.

Comment 9 Mitch Davis 2016-09-22 13:27:06 UTC
Created attachment 1203757 [details]
DNF Logfiles

My particular system install isn't very old (Since Sep6).  These logs cover just about everything from then.

krb5-libs was upgraded on Sep 7:

dnf.log-20160912:Sep 07 07:58:56 DEBUG ---> Package krb5-libs.x86_64 1.14.1-6.fc24 will be upgraded
dnf.log-20160912:Sep 07 07:58:56 DEBUG ---> Package krb5-libs.x86_64 1.14.3-8.fc24 will be an upgrade
dnf.log-20160912: krb5-libs                       x86_64 1.14.3-8.fc24             updates 738 k
dnf.log-20160912:Sep 07 07:59:09 SUBDEBUG drpm: spawned 2910: /usr/bin/applydeltarpm -a x86_64 /var/cache/dnf/updates-c4f1c95f64c2b794/packages/krb5-libs-1.14.1-6.fc24_1.14.3-8.fc24.x86_64.drpm /var/cache/dnf/updates-c4f1c95f64c2b794/packages/krb5-libs-1.14.3-8.fc24.x86_64.rpm
dnf.log-20160912:Sep 07 08:07:25 DDEBUG /var/cache/dnf/updates-c4f1c95f64c2b794/packages/krb5-libs-1.14.3-8.fc24.x86_64.rpm removed

Comment 10 Jason Tibbitts 2016-09-23 01:02:35 UTC
Just a note that installing multiple versions of the same package is perfectly well supported by RPM and certainly used by pretty much every Fedora installation (by the kernel package).  There are plenty of other places where this would be useful.

DNF will generally refuse to install multiple versions of non-kernel packages.  But that doesn't mean that there aren't other ways to do it, and once it's there DNF may not have the best behavior, especially if it only happened because a machine rebooted in the middle of an update or if the user forced RPM to install a package (with --nodeps or the like).