Unknown update error with libheif

,

Thanks very much for your advice. I’ve got the same issue here when I run yum update earily this morning UTC HKT, I modify the dnf.conf and install the latest updates, and It goes well so far, however, I’ll reset the config.

PS, I couldn’t find any libde265 or libheif-hevc pkgs at all while using rpm -qa | grep -i XXXX before I change the dnf.conf.
PPS, I upgraded to F37 from F29 all the way. I guess the old packages meet the conflicts.

I just reproduced the issue and reviewed the files and packages: The issue is related to the rpmfusion packages: libheif-hevc and libheif-freeworld

This means, the problem lies in a conflict between libheif-hevc and libheif-freeworld: if any package wants to install or update one of these two as hard or weak dependency WHILE the other is already installed OR both are already installed installed, the install will break because of the conflict.

Please file a bug against the component at rpmfusion bugzilla: ReportingBugs - RPM Fusion

I have not yet used the bugzilla of rpmfusion: if you can add multiple components, add both libheif-hevc and libheif-freeworld. If not, focus at least on one, or if you have the time, file against both.

However, although being a bit probabilistic, you could also open a ticket on our Fedora bugzilla (https://bugzilla.redhat.com/) against the component libheif because any Fedora that has rpmfusion enabled (which are a lot) will have a broken installation/update once installing/updating the libheif package from our own default repositories. So the relation to our own libheif package is that our package “officially” contains the rpmfusion packages as weak dependencies.

Further, if you do that, please cross-link all pages so that everyone who ends up on one page also gets the links to the other: rpmfusion bugzilla ticket(s), fedora bugzilla ticket, this ask.fp topic.

Until the issue is solved, I suggest to do dnf update with dnf update --exclude=libheif* to exclude libheif* from the update this time. However, with each update, check out first dnf clean all; dnf update before excluding the package, so that you find out when the issue is solved: exclusion is not a long term solution. I do not think the clean all will be necessary, but it will ensure that any cache or metadata that contains the error/conflict will be replaced by the fixed.

2 Likes

I’ve also just ran into the same issue while trying to do a dnf update

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 test error:
file /usr/lib64/libheif/libheif-libde265.so conflicts between attempted installs of libheif-hevc-1.15.1-2.fc37.1.x86_64 and libheif-freeworld-1.15.1-4.fc37.x86_64
file /usr/lib64/libheif/libheif-x265.so conflicts between attempted installs of libheif-hevc-1.15.1-2.fc37.1.x86_64 and libheif-freeworld-1.15.1-4.fc37.x86_64

OS: Fedora release 37 (Thirty Seven) x86_64
Kernel: 6.2.10-200.fc37.x86_64

I have put it in our devel mailing list and informed the Fedora-sided maintainer of libheif informally. However, I still suggest to open the tickets as suggested above, which is the formally correct way and the one way that ensures that it does not get lost in the masses of emails we currrently have in our mailing lists for other reasons.

2 Likes

I opened 6646 – libheif prevents upgrade from F37 to F38 about this.

2 Likes

I was just informed in the mailing list that the issue was just fixed :slight_smile:

In a few days, sudo dnf clean all; sudo dnf update should solve the problem (the package will be in testing before it ends up in the stable updates that you get with dnf update by default).

Feel free to let us know if the issue persists after the above commands in 5 days.

Thanks @xvitaly for your support :slight_smile:

Chris

2 Likes

https://rpmfusion.org/FAQ#Broken_deps.2C_What_to_do_.3F

so you just need enable rpmfusion-free-updates-testing repo or wait until libheif-freeworld-1.15.1-5.fc38 be moved to rpmfusion-free-updates (more 2 or 3 days )

2 Likes

Thanks for letting us know. My original interpretation of the comment was that it has been already pushed to stable in rpmfusion. However, I suggest to not enable testing repositories on production systems unless the update is super critical. In any way, I would not enable it system wide.

So I suggest to wait a few days for the update to arrive in the stable updates.

You can upgrade just one package from the testing repo like this:

sudo dnf --enablerepo rpmfusion-\*-testing upgrade libheif-freeworld

I limited myself to the “not enable it system wide” comment to avoid the command :smiley: However, I still suggest to not do that unless there is explicit reason to hurry (for which I do not see a reason here). Getting used to using packages in testing should be avoided except it is ensured the users to know about the respectively possible impacts or if they explicitly work on testing systems.

Imho ask.fp is the wrong channel to propagate any testing package use. This is more about best practices towards the many average users and beginners that follow this channel (and that could adopt such approaches in more dangerous cases) - I agree that this one package is unlikely to cause trouble even in testing (but finally, the testing stage has always a reason).

1 Like

I agree about avoiding testing repos in general, but for those affected by a specific issue, there should be no problem to install updates solving the issue, saving hours of time, and collecting potentially important feedback which can be redirected to the involved developers.

After all, testing updates is not rocket science, and users who have managed to install Fedora cannot be completely ignorant, in addition everything is done voluntarily, and no one is forcing anyone to participate in testing.

1 Like

dnf install --enablerepo=pmfusion-free-updates-testing libheif-freeworld should be enough , i.e. just update from testing the package you want .

Thanks! This workaround fixed the libheif issue for me. Onwards to the next conflict!

Thanks for the fix, I thought I was the only one dealing with this issue.

Is it safe upgrading the system from Fedora 37 to Fedora 38 when updated without these currently conflicting packages?

I tried updating all packages before upgrading the fedora release, but I get this error message:

Interner Fehler:

Fehler beim Ausführen der Transaktion: Datei /usr/lib64/libheif/libheif-libde265.so kollidiert zwischen den versuchten Installationen von libheif-hevc-1.15.1-2.fc37.1.x86_64 und libheif-freeworld-1.15.1-4.fc37.x86_64 Datei /usr/lib64/libheif/libheif-x265.so kollidiert zwischen den versuchten Installationen von libheif-hevc-1.15.1-2.fc37.1.x86_64 und libheif-freeworld-1.15.1-4.fc37.x86_64
Sorry, that the message is in German. How do I resolve this?

Hello everyone.

I’m used to being one release behind Fedora and with the arrival of Fedora 38, for me, it’s time to upgrade to Fedora 37.

I set out to go through the same process as I do every six months, generally without problems, and this time I got the following message:

Error: Error de prueba de transacción:
  conflicto del archivo /usr/lib64/libheif/libheif-libde265.so entre instalaciones intentadas de libheif-hevc-1.15.1-2.fc37.1.x86_64 y libheif-freeworld-1.15.1-4.fc37.x86_64
  conflicto del archivo /usr/lib64/libheif/libheif-x265.so entre instalaciones intentadas de libheif-hevc-1.15.1-2.fc37.1.x86_64 y libheif-freeworld-1.15.1-4.fc37.x86_64

Error de prueba de transacción means something like Transaction test error.

So much for my update. Obviously, I could not continue. I don’t know what it is and what it means. I greatly appreciate who (whoever) can enlighten me and help me unlock the update.

The command I used for the upgrade was as follows (prior system upgrade):

dnf system-upgrade download --refresh --releasever=37 --allowerasing --best

Again, thank you all very much. :vulcan_salute:

best regards

Please read the rpmfusion faq , here : [FAQ - RPM Fusion](RPMFUSION FAQ)

install the missing package from testing repo !

sudo dnf install --enablerepo=pmfusion-free-updates-testing libheif-freeworld

should be enough , i.e. just update from testing the package you want .

Will the repo automatically disabled afterwards?