Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 943110 - media-libs/libdovi-3.3.1-r2 fails to emerge with a cargo cinstall error
Summary: media-libs/libdovi-3.3.1-r2 fails to emerge with a cargo cinstall error
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major
Assignee: Ionen Wolkens
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-09 09:13 UTC by Charo del Genio
Modified: 2024-11-09 10:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log,30.22 KB, text/x-log)
2024-11-09 09:24 UTC, Charo del Genio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Charo del Genio 2024-11-09 09:13:51 UTC
Trying to compile media-libs/libdovi-3.3.1-r2 fails in the install phase with

 * /opt/rust-bin-1.81.0/bin/cargo install --path ./ --root /var/tmp/portage/media-libs/libdovi-3.3.1-r1/image/usr
error: no packages found with binaries or examples
 * ERROR: media-libs/libdovi-3.3.1-r1::gentoo failed (install phase):
 *   cargo install failed

Unfortunately, I can't understand why this is, or how to find a workaround. I suspect it's got something to do with the new slotted rust, but this is just a gut feeling.
Note that this stops media players from reading Dolby Vision information from blu-ray disks, thereby disabling a major feature of modern players.

Reproducible: Always

Steps to Reproduce:
1. emerge libdovi

Actual Results:  
>>> Failed to emerge media-libs/libdovi-3.3.1-r1

Expected Results:  
Complete installation of libdovi

Portage 3.0.66.1 (python 3.12.7-final-0, default/linux/amd64/23.0/desktop/plasma, gcc-14, glibc-2.40-r5, 6.11.6-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.11.6-gentoo-x86_64-AMD_Ryzen_9_9950X_16-Core_Processor-with-glibc2.40
KiB Mem:    65398792 total,  55723560 free
KiB Swap:  134217724 total, 134217724 free
Timestamp of repository gentoo: Sat, 09 Nov 2024 08:00:00 +0000
Head commit of repository gentoo: 18209a19fee456d23f6e97182b668fd3bf5c5d1b
Timestamp of repository guru: Sat, 09 Nov 2024 07:48:34 +0000
Head commit of repository guru: e657bd466c5f2310e3a5e62a413ffd506d46be94

Timestamp of repository steam-overlay: Sat, 09 Nov 2024 07:48:31 +0000
Head commit of repository steam-overlay: 881576c1101fac55b737e4dbad8715580dc1ffa0

sh bash 5.2_p37
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.5::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.5.2::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.12.7_p1::gentoo, 3.13.0::gentoo
dev-lang/rust-bin:         1.79.0-r100::gentoo, 1.81.0-r100::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.54.2::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.42-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/clang:           18.1.8::gentoo
sys-devel/gcc:             13.3.1_p20241025::gentoo, 14.2.1_p20240817::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             18.1.8::gentoo
sys-devel/llvm:            18.1.8-r1::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

parawlay
    location: /var/db/repos/parawlay
    masters: gentoo
    volatile: False

steam-overlay
    location: /var/db/repos/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://gentoo.osuosl.org/releases/amd64/binpackages/23.0/x86-64-v3

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE Aladdin AMD-GPU-PRO-EULA freedist ISSL linux-fw-redistributable MakeMKV-EULA OFFIS ValveSteamLicense WPS-EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="https://mirror.telepoint.bg/gentoo ftp://mirror.telepoint.bg/gentoo"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="en en_GB en_US bg bg_BG"
MAKEOPTS="--jobs 32 --load-average 33"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo caps cdda cddb cdr cet cjk crypt cups cxx dbus declarative dga dri dts dv dvd dvdr elogind encode exif ffmpeg fftw flac fontconfig fortran gdbm gif gimp gmp gpm gstreamer gtk gui hdf5 heif iconv icu idn ipv6 jpeg kde kf6compat kwallet lame lapack lcms libass libnotify libtirpc lzma mad mmap mng mp3 mp4 mpeg mpi mtp multilib musicbrainz ncurses networkmanager nls ogg openexr opengl openmp pam pango pcre pdf pipewire plasma png policykit postscript ppds pulseaudio qml qt5 qt6 raw readline sdl seccomp sound spell ssl startup-notification svg tcmalloc test-rust threads tiff truetype udev udisks unicode upower usb vaapi vdpau verify-sig vorbis vulkan wayland webp widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 avx512_bf16 avx512_bitalg avx512_vbmi2 avx512_vnni avx512_vp2intersect avx512_vpopcntdq avx512bw avx512cd avx512dq avx512f avx512ifma avx512vbmi avx512vl f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en en-GB en-US bg bg-BG" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-09 09:17:52 UTC
Can you attach the full build.log please too?
Comment 2 Ionen Wolkens gentoo-dev 2024-11-09 09:20:39 UTC
(In reply to Charo del Genio from comment #0)
> Unfortunately, I can't understand why this is, or how to find a workaround.
> I suspect it's got something to do with the new slotted rust, but this is
> just a gut feeling.
Probably, I haven't had time to try slotted rust yet (not updated yet either), still builds fine with old rust though.
Comment 3 Charo del Genio 2024-11-09 09:24:15 UTC
Created attachment 908181 [details]
Build log
Comment 4 Ionen Wolkens gentoo-dev 2024-11-09 09:30:13 UTC
err, kangie changed the inherit order?

-inherit cargo edo multilib-minimal rust-toolchain
+
+RUST_USEDEP='${MULTILIB_USEDEP}'
+
+inherit multilib-minimal cargo edo rust-toolchain

This isn't using cargo-c anymore.
Comment 5 Ionen Wolkens gentoo-dev 2024-11-09 09:32:48 UTC
(in theory putting multilib-minimal after cargo again should work, albeit be a bit before I can test to know if there's anything else to consider)
Comment 6 Ionen Wolkens gentoo-dev 2024-11-09 09:39:31 UTC
(In reply to Ionen Wolkens from comment #4)
> changed the inherit order?
I don't really get the motivation for it too.. esp. given it made it no longer alphabetical so it's not sorting. Is there something to be careful about here? Not sure given I didn't look rust slot PR changes yet.
Comment 7 Larry the Git Cow gentoo-dev 2024-11-09 09:49:27 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b673ae2f19d960de7afaaf77349822dfee2f91f5

commit b673ae2f19d960de7afaaf77349822dfee2f91f5
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-11-09 09:44:04 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-11-09 09:49:03 +0000

    gnome-base/librsvg: fix phase definitions
    
    The issue here is the same as with libdovi. If we change the inherit
    order back to before 01ba4dc61965ef7658a24728841c04c9a1ce4871, then
    MULTILIB_USEDEP isn't defined so rust.eclass can't use it for generating
    the multilib dep on Rust itself.
    
    Also, add a missing rust_pkg_setup call in 2.57.3.
    
    Bug: https://bugs.gentoo.org/943110
    Signed-off-by: Sam James <sam@gentoo.org>

 ...vg-2.57.3-r1.ebuild => librsvg-2.57.3-r2.ebuild} | 21 +++++++++++++++++++++
 gnome-base/librsvg/librsvg-2.58.2-r1.ebuild         | 16 ++++++++++++++++
 2 files changed, 37 insertions(+)
Comment 8 Ionen Wolkens gentoo-dev 2024-11-09 09:52:55 UTC
I don't really see why restoring the inherit order is a problem? Reverting would be given it'd remove RUST_USEDEP.

Even if was to define every single src_* I'd rather it'd go back to being alphabetical.
Comment 9 Ionen Wolkens gentoo-dev 2024-11-09 09:54:33 UTC
Oh wait, nevermind I see now.
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-09 09:54:51 UTC
I haven't looked to see if the RUST_USEDEP setting works okay for multilib with the other direction, it might do, I was just looking at librsvg in parallel and noticed.
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-09 09:55:01 UTC
ah, cool
Comment 12 Ionen Wolkens gentoo-dev 2024-11-09 09:57:10 UTC
That eclass internals depend on the order the inherits does feel kind of confusing, something like RUST_MULTILIB=1 or something may have been simpler (then it'd inherit for multilib usedep itself)
Comment 13 Matt Jolly gentoo-dev 2024-11-09 10:09:54 UTC
> That eclass internals depend on the order the inherits does feel kind of confusing, something like RUST_MULTILIB=1 or something may have been simpler (then it'd inherit for multilib usedep itself)

That may be a better option - something to look into after the dust settles.
We'd still need most of these changes though, probably?

Forgot to reference the bug:

commit a2284dbef402b004a6c0aca07cbe218b509b261c (HEAD -> master, origin/master, origin/HEAD)
Author: Matt Jolly <kangie@gentoo.org>
Date:   Sat Nov 9 19:56:58 2024 +1000

    media-libs/libdovi: fix phase definitions
    
    For multilib, rust eclass needs to consume MULTILIB_USEDEP
    to generate an appropriate dependency string.
    
    This means that multilib needs to be inherited before rust/cargo,
    and therefore we need to define the phases to include multilib.
    
    Signed-off-by: Matt Jolly <kangie@gentoo.org>
Comment 14 Ionen Wolkens gentoo-dev 2024-11-09 10:18:23 UTC
Thanks but would've appreciated if waited a bit given I was already in middle of looking at it, was about to push my own fix (with different style).