Updating Packages; Advice on Conflicting Passages

Hi all!

I seem to have a handful of packages that are conflicting and I wanted to get some opinions as to what would be the best option. Ideally I’d like to keep or at least be able to reliably re-install the packages I have currently on my system, but if that’s not possible I’ll just have to find some workarounds.

Here’s the last several lines from the output of yay -Syu:

:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
:: installing audit (4.2.1-1) breaks dependency 'audit=4.1.4' required by lib32-audit
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
:: installing audit (4.2.1-1) breaks dependency 'audit=4.1.4' required by lib32-audit
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
:: installing audit (4.2.1-1) breaks dependency 'audit=4.1.4' required by lib32-audit

I’m thinking the obvious answer would be to nuke ffmpeg and gimp since those seem to be the main reasons I’m seeing these conflicts, but I was wondering if there’s an easier solution that didn’t require me to nuke those two and reinstall after.

Try updating mirrors.

Alright, so I went ahead and ran sudo reflector --protocol https --verbose --latest 25 --sort rate --save /etc/pacman.d/mirrorlist and eos-rankmirrors --verbose per this post from the Endeavour forums that seemed pretty trustworthy despite the age. I ended up with updated mirrorlists from what the dates seem to show:

drwxr-xr-x   3 root root 4.0K Sep 10 00:54 .
drwxr-xr-x 122 root root  12K Sep  9 23:25 ..
-rw-r--r--   1 root root 8.4K Sep 10 00:53 endeavouros-mirrorlist
-rw-r--r--   1 root root 6.7K Sep  5  2024 endeavouros-mirrorlist.bak
-rw-r--r--   1 root root 8.2K Apr 27 18:45 endeavouros-mirrorlist.pacnew
drwxr-xr-x   5 root root 4.0K Sep  8 00:24 gnupg
-rw-r--r--   1 root root 2.0K Sep 10 00:57 mirrorlist
-rw-r--r--   1 root root  27K Apr  6 03:12 mirrorlist.pacnew

Things seemed to be going differently when I ran pacman -Syyu as per the post’s recommendation, but I still seem to be running into the same issue:

:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
:: installing audit (4.2.1-1) breaks dependency 'audit=4.1.4' required by lib32-audit
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
:: installing audit (4.2.1-1) breaks dependency 'audit=4.1.4' required by lib32-audit
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros downloading...
 core downloading...
 extra downloading...
 multilib downloading...
resolving dependencies...
looking for conflicting packages...
:: installing x265 (4.3-1) breaks dependency 'libx265.so=215-64' required by ffmpeg4.4
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl.so=0.11-64' required by gimp
:: installing libjxl (0.12.0-1) breaks dependency 'libjxl_threads.so=0.11-64' required by gimp
:: installing audit (4.2.1-1) breaks dependency 'audit=4.1.4' required by lib32-audit

sudo pacman -Rdd gimp ffmpeg4.4 lib32-audit
yay -Syu
sudo pacman -S gimp ffmpeg4.4 lib32-audit

The last line could just be: sudo pacman -S gimp ffmpeg audit

I’m not sure the lib32-audit is needed anymore. Let the system figure out the new dependencies. :wink:

I have returned after a day of being away from the main PC. I uninstalled the three packages and it seems that things went well for a while, until it asked for the sudo password. I didn’t record the entire output like I did last time via yay -Syyu | tee yay_output.txt, but I do have my terminal open from that session so I can copy the lines that are still there:

extra/libdatachannel            0.24.2-2     0.24.5-2       0.05 MiB
extra/mbedtls3                               3.6.7-1        6.13 MiB
extra/openblas                               0.3.34-1      32.43 MiB
extra/w3m                                    0.5.6-1        1.78 MiB

Total Installed Size:  58.93 MiB
Net Upgrade Size:      55.19 MiB

:: Proceed with installation? [Y/n] 
(11/11) checking keys in keyring                                      [---------------------------------------] 100%
(11/11) checking package integrity                                    [---------------------------------------] 100%
(11/11) loading package files                                         [---------------------------------------] 100%
(11/11) checking for file conflicts                                   [---------------------------------------] 100%
error: failed to commit transaction (conflicting files)
mbedtls3: /usr/lib/libmbedcrypto.so.16 exists in filesystem (owned by mbedtls)
mbedtls3: /usr/lib/libmbedtls.so.21 exists in filesystem (owned by mbedtls)
mbedtls3: /usr/lib/libmbedx509.so.7 exists in filesystem (owned by mbedtls)
Errors occurred, no packages were upgraded.
 -> Failed to install layer, rolling up to next layer.error:error installing repo packages
:: Synchronizing package databases...
 endeavouros                               14.0 KiB  54.9 KiB/s 00:00 [---------------------------------------] 100%
 core                                     126.4 KiB   381 KiB/s 00:00 [---------------------------------------] 100%
 extra                                      8.5 MiB  8.03 MiB/s 00:01 [---------------------------------------] 100%
 multilib                                  82.7 KiB   286 KiB/s 00:00 [---------------------------------------] 100%
resolving dependencies...
looking for conflicting packages...

Package (11)                    Old Version  New Version  Net Change

extra/java-avalon-framework                  4.2.0-10       0.08 MiB
extra/java-batik                             1.19-1         9.06 MiB
extra/java-commons-io                        2.22.0-1       0.58 MiB
extra/java-commons-logging                   1.4.0-1        0.07 MiB
extra/java-xmlgraphics-commons               2.11-1         0.65 MiB
core/audit                      4.1.4-2      4.2.1-1        0.04 MiB
extra/fop                                    2.11-3         4.31 MiB
extra/libdatachannel            0.24.2-2     0.24.5-2       0.05 MiB
extra/mbedtls3                               3.6.7-1        6.13 MiB
extra/openblas                               0.3.34-1      32.43 MiB
extra/w3m                                    0.5.6-1        1.78 MiB

Total Installed Size:  58.93 MiB
Net Upgrade Size:      55.19 MiB

:: Proceed with installation? [Y/n] 
(11/11) checking keys in keyring                                      [---------------------------------------] 100%
(11/11) checking package integrity                                    [---------------------------------------] 100%
(11/11) loading package files                                         [---------------------------------------] 100%
(11/11) checking for file conflicts                                   [---------------------------------------] 100%
error: failed to commit transaction (conflicting files)
mbedtls3: /usr/lib/libmbedcrypto.so.16 exists in filesystem (owned by mbedtls)
mbedtls3: /usr/lib/libmbedtls.so.21 exists in filesystem (owned by mbedtls)
mbedtls3: /usr/lib/libmbedx509.so.7 exists in filesystem (owned by mbedtls)
Errors occurred, no packages were upgraded.
 -> error making: ffmpeg-obs - exit status 4
error making: ffmpeg-obs - exit status 4
error installing repo packages
error installing repo packages
error installing repo packages

I’m thinking I need to either get rid of mbedtls or ffmpeg-obs? I’m not even entirely sure how I ended up with mainline ffmpeg to start with, as ffmpeg-obs should have been conflicting with it. Or I should say that in previous system upgrades that has been an issue.

Is it a typo or has there been a particular reason why you did pacman -Syuu ?
pacman -Syu does cover most use cases, permitting package downgrades with the additonal u flag is usually not required. Sometimes one may end up with a newer package version locally than within the repositories, due to whatever reason. This is essentially the only use case for -Syuu to me.

That was definitely a typo. I also realized I didn’t even put yay as the package manager. It should have been yay -Syyu. I didn’t even realize you could permit package downgrades. Nice to know for sure, but I feel like that would be counter-intuitive in a system upgrade. Thank you for catching that!

You only need one y, and if you just type yay it defaults to yay -Syu.

See that’s what I had been using in the past. I wasn’t sure if the second ‘y’ was an additional flag or something to that affect. This change was a byproduct of following these steps that I had linked earlier in this chain. I was not aware that yay defaulted to yay -Syu. That’ll save a little bit of time going forward.

The double y forces a download of the full package database, which is almost never needed. It just puts unnecessary load on the servers.

Alright, so I ended up purging quite a few packages. Some because I thought they were problematic, and some because I realized I didn’t need them anymore (should probably go through my pacman packages and do the same at some point).

mdeftls
ffmpeg-obs
obs-studio-browser
obs-studio-browser-debug
vlc-luajit
vlc-plugin-luajit
vscodium-bin-marketplace
vscodium-bin
libvlc-luajit

I know I should have probably done these one at a time to determine which one specifically was the issue, but I figured because they were all AUR packages I wasn’t going to break any dependencies on the standard packages.

Currently upgrade is going better than it has been, so hopefully that continues to be the case.

Edit: Upgrade was completed with no additional issues. Thank you to all who offered advice!