[arch-general] aom upgrade brakes funktionality of several video applications

Friedrich Strohmaier damokles4-listen at bits-fritz.de
Sun Apr 11 16:20:41 UTC 2021


Hi Eli, Doug, *,

Am 11.04.21 um 17:07 schrieb Eli Schwartz via arch-general:
> On 4/11/21 10:37 AM, Friedrich Strohmaier via arch-general wrote:
>> Am 11.04.21 um 16:19 schrieb Doug Newgard via arch-general:

>>> For those that aren't starting at all, check the binaries with lddtree
>>> (from the pax-utils package), see what's linked to the old version.

>> O.K. here they are:

>> jami:
>> ~]$ lddtree /usr/lib/ring/dring | grep aom
>>             libaom.so.2 => /usr/lib/libaom.so.2

>> chromium:
>> ~]$ lddtree /usr/bin/chromium | grep -i aom
>> ~]$

>>> I said binary, /usr/bin/chromium is not a binary.

~]$ file /usr/bin/chromium
/usr/bin/chromium: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=deb9717f50039031b0cae5255669985189a7cd36, for GNU/Linux 4.4.0, stripped

How is that kind of file called as?

> The point of lddtree is, as the name implies, to demonstrate a *tree*.
> But fine... you want to make life harder for yourself? Go right ahead.

> Now look at the libaom.so line and count the number of spaces before it.
> If chromium depends on libaom, then there should be 4 spaces. If
> chromium does *NOT* depend on libaom, there should be 8 or 12 or some
> other multiple of 4 spaces.

there is none, but well..

> Not using grep, would mean you'd actually see how libaom is indented
> underneath something other than chromium. For context-sensitive things
> like this, I strongly encourage you to pipe to less instead of grep, and
> then search the pager by typing in "/libaom" to go to the right line but
> still see critical context.

that's what I usually do after having a hit by grep.
No hit means no hit in the pager either.

> $ objdump -p /usr/lib/chromium/chromium | grep NEEDED
>   NEEDED               libatomic.so.1
>   NEEDED               libdl.so.2
>   NEEDED               libpthread.so.0
>   NEEDED               libglib-2.0.so.0
>   NEEDED               libgobject-2.0.so.0
>   NEEDED               libicui18n.so.68
>   NEEDED               libicuuc.so.68
>   NEEDED               libsmime3.so
>   NEEDED               libnss3.so
>   NEEDED               libnssutil3.so
>   NEEDED               libnspr4.so
>   NEEDED               libatk-1.0.so.0
>   NEEDED               libatk-bridge-2.0.so.0
>   NEEDED               libz.so.1
>   NEEDED               libcups.so.2
>   NEEDED               libdrm.so.2
>   NEEDED               libfontconfig.so.1
>   NEEDED               libdbus-1.so.3
>   NEEDED               libgio-2.0.so.0
>   NEEDED               libpng16.so.16
>   NEEDED               libwebpdemux.so.2
>   NEEDED               libwebpmux.so.3
>   NEEDED               libwebp.so.7
>   NEEDED               libfreetype.so.6
>   NEEDED               libjpeg.so.8
>   NEEDED               libexpat.so.1
>   NEEDED               libharfbuzz-subset.so.0
>   NEEDED               libharfbuzz.so.0
>   NEEDED               libxcb.so.1
>   NEEDED               libxkbcommon.so.0
>   NEEDED               libm.so.6
>   NEEDED               libopus.so.0
>   NEEDED               libavcodec.so.58
>   NEEDED               libavformat.so.58
>   NEEDED               libavutil.so.56
>   NEEDED               libX11.so.6
>   NEEDED               libXcomposite.so.1
>   NEEDED               libXdamage.so.1
>   NEEDED               libXext.so.6
>   NEEDED               libXfixes.so.3
>   NEEDED               libXrandr.so.2
>   NEEDED               libre2.so.9
>   NEEDED               libgbm.so.1
>   NEEDED               libgtk-3.so.0
>   NEEDED               libgdk-3.so.0
>   NEEDED               libpango-1.0.so.0
>   NEEDED               libcairo.so.2
>   NEEDED               libgdk_pixbuf-2.0.so.0
>   NEEDED               libasound.so.2
>   NEEDED               libpulse.so.0
>   NEEDED               libsnappy.so.1
>   NEEDED               libxml2.so.2
>   NEEDED               libminizip.so.1
>   NEEDED               libatspi.so.0
>   NEEDED               libFLAC.so.8
>   NEEDED               libxshmfence.so.1
>   NEEDED               libxslt.so.1
>   NEEDED               libstdc++.so.6
>   NEEDED               libgcc_s.so.1
>   NEEDED               libc.so.6
>   NEEDED               ld-linux-x86-64.so.2
> $ objdump -p /usr/lib/chromium/chromium | grep libaom
> $

> Nowhere is chromium linked to libaom, but lddtree --help indicates that
> running it without grep might show you which of chromium's package
> dependencies are broken.

> Once you have found out that it is aur/ffmpeg-git or aur/ffmpeg-full or
> whatever, you can continue on to reading the "NOTE" at
> https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_and_upgrading_packages

Bingo! Thanks for taking away the tomatoes from my eyes :o))
I was wondering no one else complaining..

> Another way of discovering the same information is:

> $ pacman -Qi aom | grep 'Required By'
> Required By     : ffmpeg  libavif  libheif

I had seen it, but it didn't wake me up :-|

> Note: chromium is not listed as depending on aom, but ffmpeg is. In
> fact, go rebuild every package depending on it.

> $ pacman -Sii aom | grep 'Required By'
> Required By     : emby-server  ffmpeg  gst-plugins-bad  libavif  libheif

> Regardless of which ones you have installed, there aren't all that many
> in the entire archlinux.

Thanks for the patience of You all.

regards
-- 
Friedrich


More information about the arch-general mailing list