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:
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
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?
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
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...
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?
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'
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.