Skip to content

[BUG] libav* dependencies broken #13235

Description

@gucci-on-fleek

Full Raw Package Name (e.g. anda-0.4.14-1.fcrawhide.x86_64)

libavutil-1:8.1.1-1.fc44.x86_64

Release Version

f44

Describe the Bug

Installing ffmpeg from terra-multimedia fails with cryptic dependency errors.

To Reproduce

$ podman run --rm -it --pull=newer quay.io/fedora/fedora-minimal:latest

# dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release

# dnf install terra-release-multimedia

# dnf install ffmpeg
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
Problem: conflicting requests
  - package ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia does not have a compatible architecture
  - nothing provides ld-linux-aarch64.so.1()(64bit) needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libm.so.6(GLIBC_2.17)(64bit) needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libavutil(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libavcodec(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libavformat(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libswresample(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libswscale(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libavdevice(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libavfilter(aarch-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.aarch64 from terra-multimedia
  - nothing provides libavutil(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libavcodec(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libavformat(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libswresample(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libswscale(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libavdevice(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libavfilter(x86-32) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.i686 from terra-multimedia
  - nothing provides libavutil(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
  - nothing provides libavcodec(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
  - nothing provides libavformat(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
  - nothing provides libswresample(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
  - nothing provides libswscale(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
  - nothing provides libavdevice(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
  - nothing provides libavfilter(x86-64) = 8.1.1-1.fc44 needed by ffmpeg-1:8.1.1-1.fc44.x86_64 from terra-multimedia
You can try to add to command line:
  --skip-broken to skip uninstallable packages

Expected Behavior

libswresample (and the rest of the libav* packages) depends on libavutil with the (implicit) epoch of 0, but Terra only provides libavutil with an epoch of 1:

# dnf download libavutil-1:8.1.1-1.fc44.x86_64 libswresample-1:8.1.1-1.fc44.x86_64 soxr-0.1.3-21.fc44.x86_64

# rpm --query ./*.rpm --queryformat='%{name}\t%{packager}\n'
libavutil	Terra Packaging Team <terra@fyralabs.com>
libswresample	Terra Packaging Team <terra@fyralabs.com>
soxr	Fedora Project

# rpm --install ./libavutil-1:8.1.1-1.fc44.x86_64.rpm ./libswresample-1:8.1.1-1.fc44.x86_64.rpm ./soxr-0.1.3-21.fc44.x86_64.rpm
error: Failed dependencies:
	libavutil(x86-64) = 8.1.1-1.fc44 is needed by libswresample-1:8.1.1-1.fc44.x86_64

# rpm --query ./libavutil-1:8.1.1-1.fc44.x86_64.rpm --provides | grep -F 'libavutil(x86-64)'
libavutil(x86-64) = 1:8.1.1-1.fc44

# rpm --query ./libswresample-1:8.1.1-1.fc44.x86_64.rpm --requires | grep -F 'libavutil(x86-64)'
libavutil(x86-64) = 8.1.1-1.fc44

One of these packages should be corrected so that the epochs match.

Relevant Log Output

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions