No way to upgrade ---how to fix this? ffmpeg-full broken dependency

[root@mauro-pc mauro]# pacman -Syyu
:: Synchronizing package databases...
 core                                                  141.0 KiB  2.75M/s 00:00 [#############################################] 100%
 extra                                                1748.2 KiB  10.0M/s 00:00 [#############################################] 100%
 community                                               4.3 MiB  8.08M/s 00:01 [#############################################] 100%
 multilib                                              174.3 KiB  7.09M/s 00:00 [#############################################] 100%
:: Starting full system upgrade...
warning: ckbcomp: local (1.164-1) is newer than extra (1.155-1)
warning: imagewriter: local (1.10.1420800585.134a9b3-8) is newer than community (1.10.1420800585.134a9b3-4)
warning: jwmtools: local (0.1.78-4) is newer than community (0.1.78-1)
warning: package-query: local (1.9-2) is newer than extra (1.9-1)
warning: pacui: local (1.8-2) is newer than community (1.8-1)
warning: preload: local (0.6.4-6) is newer than community (0.6.4-1)
warning: sndio: local (20161106-2) is newer than community (20161106-1)
warning: xdgmenumaker: local (1.4-1) is newer than community (1.1-1)
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: ffmpeg-full: installing libx264 (2:152.20171224-1) breaks dependency 'libx264.so=148-64'

How did you find yourself with so many newer packages? Did you migrate from Arch? Were you on unstable and switched back to stable?

Lets make sure everything is right mirror-side. Please return the output of

sudo pacman-mirrors -f0 && sudo pacman -Syyu

(i dont need to see it loading all the mirrors, just the bottom/errors if there are any)

Are these AUR packages that are newer, or Arch packages? To me it looks like AUR package dependency issues.

Just checked one of these, sndio

warning: sndio: local (20161106-2) is newer than community (20161106-1)

This is in Manjaro unstable, packaged by @oberon, but not in Arch repos. The version on your system must be the AUR package, one build ahead of Manjaro unstable.

For AUR packages that are in Manjaro repos replace them, then sync everything with unstable / testing.

sudo pacman -Syyuu

sndio is a dependency of vlc-nightly. I will update it, thanks.

:: Starting full system upgrade...
warning: ckbcomp: local (1.164-1) is newer than extra (1.155-1)
warning: imagewriter: local (1.10.1420800585.134a9b3-8) is newer than community (1.10.1420800585.134a9b3-4)
warning: jwmtools: local (0.1.78-4) is newer than community (0.1.78-1)
warning: package-query: local (1.9-2) is newer than extra (1.9-1)
warning: pacui: local (1.8-2) is newer than community (1.8-1)
warning: preload: local (0.6.4-6) is newer than community (0.6.4-1)
warning: sndio: local (20161106-2) is newer than community (20161106-1)
warning: xdgmenumaker: local (1.4-1) is newer than community (1.1-1)
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: ffmpeg-full: installing libx264 (2:152.20171224-1) breaks dependency 'libx264.so=148-64'

Check dependencies.

This is the version in Manjaro repos

 pacman -Si libx264
Repository      : extra
Name            : libx264
Version         : 2:152.20171224-1
Description     : Library for encoding H264/AVC video streams (8bit depth)

I'm guessing your AUR package installed another version, causing this error.

In general, please try to use repo package versions rather than AUR if available

  • ckbcomp: local (1.164-1) is newer than extra (1.155-1)
    updated to 1.155

  • imagewriter: local (1.10.1420800585.134a9b3-8) is newer than community (1.10.1420800585.134a9b3-4)
    pkgrel not relevant

  • jwmtools: local (0.1.78-4) is newer than community (0.1.78-1)
    removed from repo since we don't have an active jwm edition. Please use AUR version.

  • package-query: local (1.9-2) is newer than extra (1.9-1)
    pkgrel not relevant

  • pacui: local (1.8-2) is newer than community (1.8-1)
    updated to 1.9

  • preload: local (0.6.4-6) is newer than community (0.6.4-1)
    pkgrel not relevant

  • sndio: local (20161106-2) is newer than community (20161106-1)
    updated to 20180120 - we follow a different versioning scheme there

  • xdgmenumaker: local (1.4-1) is newer than community (1.1-1)
    updated to 1.4

Not sure about your libx264 problem. In any case ffmpeg-full is an AUR package and libx264 upstream Archlinux and we are not maintaining it. You may want to flag it out-of-date there or contact the AUR maintainer.
Edit: In the AUR are you have libx264-git available. Try that one!? :slight_smile:

Looking at it again, I think your libx264 problem concerns another package, requireing ‘libx264.so=148-64’
ffmpeg-full doesn't specify a version in its PKGBUILD.
It could be one of these packages from the repos

required

or maybe it's another package from the AUR that is installed on your system.

I had used a custom compiled libx264, ffmpeg and handbrake for a while,

the issue is that libx264 provide libx264.so-$pkgver and ffmpeg require that libx264.so with which was build

my solution was to force install libx264 and then rebuild ffmpeg

You can see which version require after it is compiled, repo's ffmpeg itself provide and require several library versions

1 Like

Actually, the issue is that you need to remove AUR packages that block repo package updates, then reinstall the AUR package afterwards. :wink:


(moved from #uncategorized to #technical-issues-and-assistance:aur as this is an issue with an AUR package)

In any case I can report that I just installed ffmpeg-full via yaourt without problem ... maybe just because all depends were built fresh for now?

This is the case for any package that depends on a particular library soname, in this case libx264.so=148-64. If a library breaks ABI compatibility the soname version will be incremented to indicate that. Other packages must be rebuilt against the new version, or use the old version. Unless you install a separate package that provides the old version a rebuild is the solution.

Have a similar problem with ffmepg2.8 required by vlc (only) and ffmepg required by firefox, thunderbird, audacity, mplayer, electron etc. Leads to a conflict between versions of libx264.

vlc is the official repo version (not the nightly one, just the normal official package), as well as firefox and other softwares.

I had to uninstall vlc, finish the upgrade, and then install vlc again.

$ pacman -Si ffmpeg2.8
Repository      : extra
Name            : ffmpeg2.8
Version         : 2.8.13-4
...
Depends On      : ...
                  libx264.so=152-64 
                  ...
...

You might have had an out-of-date mirror?

No idea about that. I noticed I have to change/update them from time to time, but I don't know how long I've been using the current ones. Several weeks for sure, but not several months.
Unfortunately I didn't copy the error message, it was saying something like "In order to upgrade ffmpeg, libx264 must be uninstalled, but it is required by ffmpeg2.8." (and vice-versa).

From the AUR web page:

Do a system upgrade with -Syudd to ignore dependencies. After this, recompile ffmpeg-full.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by