Skip to main content
Topic: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev (Read 382 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

error: failed to commit transaction (conflicting files)
/usr/lib32/libudev.so exists in both 'lib32-systemd' and 'lib32-udev'
/usr/lib32/libudev.so.1 exists in both 'lib32-systemd' and 'lib32-udev'
/usr/lib32/libudev.so.1.7.8 exists in both 'lib32-systemd' and 'lib32-udev'
/usr/lib32/pkgconfig/libudev.pc exists in both 'lib32-systemd' and 'lib32-udev'
Errors occurred, no packages were upgraded.


I've had a dependency issue with base and lib32 versions of packages before but I figured the multilib was just lagging in versions, and that turned out to be right, but I don't know what to think with this one.

Anyone else having this issue? Help would be greatly appreciated!

Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #1
You shouldn't have lib32-systemd installed. You haven't provided enough info but one of 'lib32-systemd' and 'lib32-udev' blocking the other.

If you play games and need 32 bit libraries you want lib32-udev

if lib32-systemd is installed:
Code: [Select]
pacman -Rdd lib32-systemd
pacman -Syu lib32-udev

Make sure mutlilib is below lib32 in /etc/pacman.conf.

There used to be a package lib32-artix-archlinux-support which should / would have prevented this.
Maybe there's another mechanism now I'm unaware of ?

Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #2
galaxy/lib32-artix-archlinux-support is still a package

Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #3
lib32-systemd is required by: lib32-colord  smartmontools
It was installed as a dependency, so I wasn't sure if it's safe to remove. pacman.conf repositories are in the correct order though (and I do play games so I do need lib32)

As for galaxy/lib32-artix-archlinux-support I only have the regular one installed and upon installing this one I get lib32-systemd conflict again.

Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #4
Upon deleting #system32# lib32-systemd and updating I got this warning, are they just dead links I must manually remove now?

warning: could not get file information for usr/lib32/libudev.so
warning: could not get file information for usr/lib32/libudev.so.1
warning: could not get file information for usr/lib32/libudev.so.1.7.8
warning: could not get file information for usr/lib32/pkgconfig/libudev.pc

Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #5
galaxy/lib32-artix-archlinux-support is still a package
Fair enough I was looking in lib32 on a mirror.(I don't have galaxy enabled)
Upon deleting #system32# lib32-systemd and updating I got this warning, are they just dead links I must manually remove now?

If you mean you deleted the files manually that won't help as the references to the files are still in pacman's database.

Remove packages that depend on lib32-systemd. Keep a list of them.
Edit: forgot to say then remove lib32-systemd, if that wasn't obvious.
Install lib32-artix-archlinux-support.
Install the packages that that you removed again.


Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #6
Here's exactly what I did, sorry if I wasn't clear enough:

I removed lib32-systemd with "'-Rdd" as you suggested, so that shouldn't have removed any dependencies if I understand correctly. After that I made sure lib32-udev is still installed, and I installed lib32-artix-archlinux-support.
Since then, there was just the warning for the 4 files on the first update which haven't popped up since and my system has been functioning and updating properly.

From what I gather, (lib32-)artix-archlinux-support packages are what adds systemd support to artix, instead of installing the systemd package explicitly.

Re: Failed to commit transaction - libudev exists in both lib32-systemd & lib32-udev

Reply #7
Here's exactly what I did, sorry if I wasn't clear enough:

I removed lib32-systemd with "'-Rdd" as you suggested, so that shouldn't have removed any dependencies if I understand correctly. After that I made sure lib32-udev is still installed, and I installed lib32-artix-archlinux-support.
Since then, there was just the warning for the 4 files on the first update which haven't popped up since and my system has been functioning and updating properly.
OK cool. :)
Quote
TRANSACTION OPTIONS (APPLY TO -S, -R AND -U)
-d, --nodeps
Skips dependency version checks. Package names are still checked. Normally, pacman will always check a package’s dependency fields to ensure that all dependencies are installed and there are no package conflicts in the system. Specify this option twice to skip all dependency checks.
Only to be used in very specific situations. Generally if pacman doesn't want to allow you to remove a package pacman is right.