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

Eli Schwartz eschwartz at archlinux.org
Sun Apr 11 15:07:24 UTC 2021


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
> ~]$

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.

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.

$ 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

Another way of discovering the same information is:

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

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.

-- 
Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-general/attachments/20210411/34db4194/attachment.sig>


More information about the arch-general mailing list