Recently, ffmpeg has been upgraded to 6.1 on Edge.
However, this upgrade didn't exactly go smoothly on my Edge desktop. To
elaborate, _some_ components were upgraded to 6.1, while some stayed on
6.0.1-r1. More specifically, these (ffmpeg too, tho I removed it
manually):
ffmpeg-libavcodec-6.1-r0 x86_64 {ffmpeg} (GPL-2.0-or-later AND
LGPL-2.1-or-later) [upgradable from: ffmpeg-libavcodec-6.0.1-r1]
ffmpeg-libavfilter-6.1-r0 x86_64 {ffmpeg} (GPL-2.0-or-later AND
LGPL-2.1-or-later) [upgradable from: ffmpeg-libavfilter-6.0.1-r1]
ffmpeg-libswresample-6.1-r0 x86_64 {ffmpeg} (GPL-2.0-or-later AND
LGPL-2.1-or-later) [upgradable from: ffmpeg-libswresample-6.0.1-r1]
ffplay-6.1-r0 x86_64 {ffmpeg} (GPL-2.0-or-later AND LGPL-2.1-or-later)
[upgradable from: ffplay-6.0.1-r1]
I noticed this after running the ffmpeg cli and getting errors about
symbols on /usr/lib/libavformat.so.60:
Error relocating /usr/lib/libavformat.so.60: av_packet_side_data_add:
symbol not found
Error relocating /usr/lib/libavformat.so.60:
av_packet_side_data_get: symbol not found
Error relocating
/usr/lib/libavformat.so.60: av_packet_side_data_new: symbol not found
I was able to (hopefully temporarily) remove dependencies on the ffmpeg
CLI program, and tried to install it again manually, to no avail.
Trying to apk add ffmpeg now returns this:
ERROR: unable to select packages:
ffmpeg-libswresample-6.1-r0:
conflicts: ffmpeg-libswresample-6.0.1-r1
satisfies: world[ffmpeg-libswresample]
ffmpeg-6.1-r0[so:libswresample.so.4]
ffmpeg-libavcodec-6.1-r0[so:libswresample.so.4]
ffmpeg-libavfilter-6.1-r0[so:libswresample.so.4]
ffplay-6.1-r0[so:libswresample.so.4]
ffmpeg-libswresample-6.0.1-r1: conflicts:
ffmpeg-libswresample-6.1-r0 satisfies:
world[ffmpeg-libswresample]
libmgba-0.10.2-r1[so:libswresample.so.5]
obs-studio-29.1.3-r0[so:libswresample.so.5]
subtitlecomposer-0.8.0-r1[so:libswresample.so.5]
Unfortunately, can't really remove ffmpeg-libswresample without
removing XFCE.
Is this the fault of my setup, or is something like a rebuild pending?
--
Current PGP KeyID: 0AFB427F1800FD89751C4035292228735AE707FF
https://blueselene.com/pgp-archive/0AFB427F1800FD89751C4035292228735AE707FF/key.pub
> More specifically, these (ffmpeg too, tho I removed it manually)
Correction: I think the ffmpeg CLI was actually upgraded to 6.1, if it
stayed on the previous version I would have likely not have found the
symbol errors. Sorry, by the time I ran apk list -I ffmpeg was already
removed, so can't confirm this.
On 13/12/2023 17:07, Alex wrote:
> Is this the fault of my setup, or is something like a rebuild pending?>
there's two issues here:
- we removed a patch that bumps SONAME of a library, thus reverting it
to the old number, but the dependent packages were not rebuilt
( you can see that in the long "unable to select packages" error, where
the new stuff requires you to have .so.4, but the existing packages need
.so.5 )
- ffmpeg introduced a new symbol to libavcodec, but didn't bump the
SONAME; that allowed for installing the new libavformat ( which uses
said symbol ) alongside old libavcodec ( because we just check for
matching SONAME from DT_NEEDED )
both of them are known to us, and tracked on
https://gitlab.alpinelinux.org/alpine/aports/-/issues/15577 as well as
discussed on #alpine-devel on OFTC
Thank you for the explanation Patrycja.
I also wanted to note that this has been fixed by rebuilding the
packages depending on ffmpeg, I was able to upgrade the components that
stayed on the previous version and now I have the ffmpeg CLI back!
Thank you very much to the Alpine devs for your work on the distro.