Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1685507 - Can't update libjpeg-turbo because of conflicting files
Summary: Can't update libjpeg-turbo because of conflicting files
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: libjpeg-turbo
Version: 29
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Nikola Forró
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-03-05 11:01 UTC by Justinas Petravičius
Modified: 2019-03-07 12:34 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-07 12:34:33 UTC


Attachments (Terms of Use)

Description Justinas Petravičius 2019-03-05 11:01:33 UTC
Description of problem: Updating libjpeg-turbo fails because of file conflict.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. open terminal or GNOME Software
2. run sudo dnf upodate
3. press y to confirm the update

Actual results:
[justinaspetravicius@xps15-galvotas ~]$ sudo dnf clean all
90 files removed
[justinaspetravicius@xps15-galvotas ~]$ sudo dnf update libjpeg-turbo
Copr repo for Powerstat owned by nunodias       453  B/s | 1.5 kB     00:03    
Fedora 29 openh264 (From Cisco) - x86_64        1.0 kB/s | 5.1 kB     00:05    
Fedora Modular 29 - x86_64                      407 kB/s | 1.5 MB     00:03    
Fedora Modular 29 - x86_64 - Updates            619 kB/s | 2.0 MB     00:03    
Fedora 29 - x86_64 - Updates                    5.5 MB/s |  23 MB     00:04    
Fedora 29 - x86_64                               12 MB/s |  62 MB     00:05    
google-chrome                                   1.6 kB/s | 3.4 kB     00:02    
RPM Fusion for Fedora 29 - Free - Updates        82 kB/s | 295 kB     00:03    
RPM Fusion for Fedora 29 - Free                 182 kB/s | 759 kB     00:04    
RPM Fusion for Fedora 29 - Nonfree - Updates     25 kB/s |  86 kB     00:03    
RPM Fusion for Fedora 29 - Nonfree               62 kB/s | 221 kB     00:03    
Fedora 29 - x86_64 - VirtualBox                  12 kB/s |  36 kB     00:03    
WineHQ packages                                 2.0 MB/s | 5.3 MB     00:02    
Dependencies resolved.
================================================================================
 Package               Architecture Version               Repository       Size
================================================================================
Upgrading:
 libjpeg-turbo         i686         2.0.2-1.fc29          updates         167 k

Transaction Summary
================================================================================
Upgrade  1 Package

Total download size: 167 k
Is this ok [y/N]: y
Downloading Packages:
libjpeg-turbo-2.0.2-1.fc29.i686.rpm             163 kB/s | 167 kB     00:01    
--------------------------------------------------------------------------------
Total                                            61 kB/s | 167 kB     00:02     
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/share/doc/libjpeg-turbo/ChangeLog.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/licenses/libjpeg-turbo/LICENSE.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64

Error Summary
-------------

Expected results:

Upgrade works without errors.

Additional info:

Comment 1 Nikola Forró 2019-03-07 10:14:20 UTC
I don't think this is a bug in libjpeg-turbo. Both i686 and x86_64 variants of the library are installed on your system, but "dnf update libjpeg-turbo" is upgrading only i686 variant for some reason, which results in conflict.

I'm not able to reproduce this:

$ rpm -q libjpeg-turbo
libjpeg-turbo-2.0.0-3.fc29.i686
libjpeg-turbo-2.0.0-3.fc29.x86_64

$ sudo dnf update libjpeg-turbo
Last metadata expiration check: 0:04:32 ago on Thu 07 Mar 2019 10:08:28 AM UTC.
Dependencies resolved.
=====================================================================================================================
 Package                        Arch                    Version                       Repository                Size
=====================================================================================================================
Upgrading:
 libjpeg-turbo                  i686                    2.0.2-1.fc29                  updates                  167 k
 libjpeg-turbo                  x86_64                  2.0.2-1.fc29                  updates                  158 k

Transaction Summary
=====================================================================================================================
Upgrade  2 Packages

Total download size: 325 k

Comment 2 Justinas Petravičius 2019-03-07 11:21:54 UTC
IF I run the rpm -q command I see this:

$ rpm -q libjpeg-turbo
libjpeg-turbo-2.0.0-3.fc29.x86_64
libjpeg-turbo-2.0.0-3.fc29.i686
libjpeg-turbo-2.0.2-1.fc29.x86_64

If it's not a bug with the library, how do I get out of this situation? Because if I do dnf remove libjpeg-turbo then DNF suggests to remove all the related packages and there are a lot of them that are critical to normal daily operation, for example GNOME.

I have tried dnf reinstall libjpeg-turbo with no success:

$ sudo dnf reinstall libjpeg-turbo
Last metadata expiration check: 1:28:37 ago on 2019 m. kovo 07 d. 11:51:03.
Dependencies resolved.
================================================================================
 Package                   Architecture Version            Repository      Size
================================================================================
Upgrading:
 libjpeg-turbo             i686         2.0.2-1.fc29       updates        167 k
Reinstalling:
 libjpeg-turbo             x86_64       2.0.2-1.fc29       updates        158 k
     replacing  libjpeg-turbo.x86_64 2.0.2-1.fc29
Removing dependent packages:
 libjpeg-turbo-utils       x86_64       2.0.0-3.fc29       @updates       232 k

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

Total download size: 325 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libjpeg-turbo-2.0.2-1.fc29.x86_64.rpm    155 kB/s | 158 kB     00:01    
(2/2): libjpeg-turbo-2.0.2-1.fc29.i686.rpm      164 kB/s | 167 kB     00:01    
--------------------------------------------------------------------------------
Total                                           111 kB/s | 325 kB     00:02     
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/libjpeg.so.62.3.0 from install of libjpeg-turbo-2.0.2-1.fc29.x86_64 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/doc/libjpeg-turbo/ChangeLog.md from install of libjpeg-turbo-2.0.2-1.fc29.x86_64 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/licenses/libjpeg-turbo/LICENSE.md from install of libjpeg-turbo-2.0.2-1.fc29.x86_64 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/doc/libjpeg-turbo/ChangeLog.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64
  file /usr/share/licenses/libjpeg-turbo/LICENSE.md from install of libjpeg-turbo-2.0.2-1.fc29.i686 conflicts with file from package libjpeg-turbo-2.0.0-3.fc29.x86_64

Error Summary
-------------


Is there a way to check what packages are using the libjpeg-turbo i686?

Comment 3 Nikola Forró 2019-03-07 11:33:36 UTC
How did you end up with two versions of the same package?

This should help:

$ sudo dnf remove libjpeg-turbo-2.0.0-3.fc29.x86_64
$ sudo dnf update libjpeg-turbo

> Is there a way to check what packages are using the libjpeg-turbo i686?

Try this:
$ rpm --query --whatrequires libjpeg-turbo.i686

Comment 4 Justinas Petravičius 2019-03-07 11:52:04 UTC
oh, so removing specific version helped. Thank you, Nikola!

I don't know how I ended up having two versions of the same package. I usually update using GNOME software, but sometimes it's buggy so then I'm reverting to terminal and dnf update.

The situation with libjpeg-turbo is not unique in this case, the same happened for these 3 libraries at the same time (though thanks to you it's now fixed for all 3):

- libjpeg-turbo
- pcre
- openssl-libs

Tried running whatrequires:

$ rpm --query --whatrequires libjpeg-turbo.i686
no package requires libjpeg-turbo.i686

seeing this made me think of dnf autoremove:

$ sudo dnf list autoremove
Last metadata expiration check: 0:03:19 ago on 2019 m. kovo 07 d. 13:47:02.
Autoremove Packages
celt051.x86_64                                                                                                                  0.5.1.3-16.fc29                                                                                                   @anaconda
gmime30.x86_64                                                                                                                  3.2.3-1.fc29                                                                                                      @updates 
java-11-openjdk-headless.x86_64                                                                                                 1:11.0.2.7-0.fc29                                                                                                 @updates 
libknet1.x86_64                                                                                                                 1.7-1.fc29                                                                                                        @updates 
libreoffice-xsltfilter.x86_64                                                                                                   1:6.1.5.2-2.fc29                                                                                                  @updates 
opencc.x86_64                                                                                                                   1.0.5-3.fc29                                                                                                      @updates 
python3-IPy.noarch                                                                                                              0.81-23.fc29                                                                                                      @fedora  
samba-libs.x86_64                                                                                                               2:4.9.4-1.fc29                                                                                                    @updates


Interesting case with the i686...

Comment 5 Justinas Petravičius 2019-03-07 11:56:14 UTC
Interesting, if I run:

$ rpm --query --whatrequires libjpeg-turbo
no package requires libjpeg-turbo
$ rpm --query --whatrequires libjpeg-turbo.x86_64
no package requires libjpeg-turbo.x86_64
$ rpm --query --whatrequires libjpeg-turbo.i686
no package requires libjpeg-turbo.i686

it would seem that libjpeg-turbo could be removed:

$ sudo dnf remove libjpeg-turbo
Dependencies resolved.
===========================================================================================================================================================================================================================================================
 Package                                                                       Architecture                              Version                                                                 Repository                                           Size
===========================================================================================================================================================================================================================================================
Removing:
 libjpeg-turbo                                                                 x86_64                                    2.0.2-1.fc29                                                            @updates                                            643 k
 libjpeg-turbo                                                                 i686                                      2.0.2-1.fc29                                                            @updates                                            670 k
Removing dependent packages:

<..> removed the output <..>

Transaction Summary
===========================================================================================================================================================================================================================================================
Remove  891 Packages

Freed space: 3.3 G
Is this ok [y/N]: n
Operation aborted.

why whatrequires says no packages requires libjpeg-turbo, but DNF says there are dependent packages?

Comment 6 Nikola Forró 2019-03-07 12:07:00 UTC
That's because most packages don't require libjpeg-turbo package, instead they require libjpeg.so library (which the package provides).

Try this for x86_64:
$ rpm --query --whatrequires 'libjpeg.so.62()(64bit)'

and this for i686:
$ rpm --query --whatrequires 'libjpeg.so.62'

Comment 7 Justinas Petravičius 2019-03-07 12:33:23 UTC
Ok, I guess this BUG is solved now, I'm just wondering how I got into this situation all together.. 

Thank you Nikola for your help, I will now know what to do in case the problem appears again.


Note You need to log in before you can comment on or make changes to this bug.