* ERROR: media-tv/v4l-utils-1.20.0::gentoo failed (pretend phase): * clang does not support the BPF target. Please check LLVM_TARGETS. * ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop-20210102-162234 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-10.2.0 * /usr/lib/llvm/11 11.0.0 Available Python interpreters, in order of preference: [1] python3.8 [2] python3.9 (fallback) Available Ruby profiles: [1] ruby25 (with Rubygems) [2] ruby26 (with Rubygems) [3] ruby27 (with Rubygems) * Available Rust versions: [1] rust-1.48.0 * The following VMs are available for generation-2: *) AdoptOpenJDK 8.272_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.8.4 timestamp(s) of HEAD at this tinderbox image: /var/db/repos/gentoo Mon Jan 4 11:05:12 PM UTC 2021 emerge -qpvO media-tv/v4l-utils [ebuild N ] media-tv/v4l-utils-1.20.0 USE="bpf opengl qt5 udev -dvb"
Created attachment 681214 [details] emerge-info.txt
Created attachment 681217 [details] die.env
Created attachment 681220 [details] emerge-history.txt
Created attachment 681223 [details] etc.portage.tbz2
Created attachment 681226 [details] logs.tbz2
Created attachment 681229 [details] media-tv:v4l-utils-1.20.0:20210104-234253.log
This has most likely happened because you have an old version of clang installed with LLVM_TARGETS="BPF" but your latest installed version does not have it. This is what the check is supposed to guard against. Unfortunately there's no way to enforce this purely through Portage dependencies. :( I could iterate through numbered SLOTs with has_version but it wouldn't be pretty so I'd rather not. Unfortunately there's no ebuild helper to iterate through installed versions like portageq can.
I'm seeing this issue with no clang/llvm installed and with the correct LLVM_TARGETS defined. In other words, portage should be pulling in the correct packages, but they are not installed now, and I get this error. That can't be what is intended. Should I have to to install clang first manually before installing this package? That seems counterintuitive to the idea of a package manager.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9eca9891419d58dde8eb284ed60a6dd71278e08f commit 9eca9891419d58dde8eb284ed60a6dd71278e08f Author: James Le Cuirot <chewi@gentoo.org> AuthorDate: 2021-01-17 10:27:16 +0000 Commit: James Le Cuirot <chewi@gentoo.org> CommitDate: 2021-01-17 10:27:16 +0000 media-tv/v4l-utils: Only check Clang in pkg_pretend when installed I forgot that pkg_pretend() fires before dependencies are installed. We therefore need to check again in pkg_setup(). Bug: https://bugs.gentoo.org/763654 Package-Manager: Portage-3.0.13, Repoman-3.0.1 Signed-off-by: James Le Cuirot <chewi@gentoo.org> media-tv/v4l-utils/v4l-utils-1.20.0.ebuild | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
Thanks!