Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

How to block a llvm/clang update

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
8 posts • Page 1 of 1
Author
Message
saski4711
Apprentice
Apprentice
Posts: 214
Joined: Thu Jun 24, 2004 8:23 am

How to block a llvm/clang update

  • Quote

Post by saski4711 » Wed Aug 27, 2025 5:28 am

Hi,

emerge wants to pull in another llvm update:

Code: Select all

[ebuild     U  ] llvm-core/llvm-common-21.1.0 [20.1.8]
[ebuild     U  ] llvm-core/clang-common-21.1.0 [20.1.8]
[ebuild     U  ] dev-python/trove-classifiers-2025.8.26.11 [2025.8.6.13]
[ebuild     U  ] llvm-runtimes/openmp-21.1.0 [20.1.8]
[ebuild  NS    ] llvm-core/llvm-21.1.0 [20.1.8]
[ebuild  NS    ] llvm-core/llvm-toolchain-symlinks-21 [20-r1]
[ebuild     U  ] llvm-core/llvmgold-21 [20]
[ebuild  NS    ] llvm-core/clang-21.1.0 [20.1.8]
[ebuild  NS    ] llvm-core/clang-toolchain-symlinks-21 [20]
[ebuild  NS    ] llvm-runtimes/compiler-rt-21.1.0 [20.1.8]
[ebuild  NS    ] llvm-runtimes/compiler-rt-sanitizers-21.1.0 [20.1.8]
[ebuild  NS    ] llvm-core/clang-runtime-21.1.0 [20.1.8]

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

llvm-core/libclc:0

  (llvm-core/libclc-21.1.0:0/0::gentoo, ebuild scheduled for merge) USE="spirv -verify-sig" ABI_X86="(64)" LLVM_SLOT="21" VIDEO_CARDS="-nvidia -r600 -radeonsi" conflicts with
    =llvm-core/libclc-20* required by (dev-util/mesa_clc-25.1.8:0/0::gentoo, installed) USE="-debug" ABI_X86="(64)" LLVM_SLOT="20 -18 -19" VIDEO_CARDS="-asahi -panfrost"
    ^                 ^^^
This will result in a depndency leaving my system with two llvm versions installed.
How can I skip the latest pull-ins?

I've already tried

Code: Select all

llvm-core/llvm:21.1 -~amd64
llvm-core/clang:21.1 -~amd64
but no success. I'm on ACCEPT_KEYWORDS="~amd64" btw.

Code: Select all

emerge --info
Portage 3.0.68 (python 3.13.7-final-0, default/linux/amd64/23.0/split-usr, gcc-15, glibc-2.42, 6.17.0-rc3 x86_64)
=================================================================
System uname: Linux-6.17.0-rc3-x86_64-Intel-R-_Core-TM-_i9-9900T_CPU_@_2.10GHz-with-glibc2.42
KiB Mem:    32725732 total,   3635284 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Wed, 27 Aug 2025 04:45:00 +0000
Head commit of repository gentoo: 6ca3c0e3ef5d02a80098623e4d97148fefec7634
Head commit of repository xlibre: 8ea9bc119bdf269e936bd5b745a6bc298018464e

sh bash 5.3_p3-r1
ld GNU ld (Gentoo 2.45 p1) 2.45.0
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.3_p3-r1::gentoo
dev-build/autoconf:        2.72-r3::gentoo
dev-build/automake:        1.18.1::gentoo
dev-build/cmake:           4.1.0::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.9.0::gentoo
dev-lang/perl:             5.42.0::gentoo
dev-lang/python:           3.13.7::gentoo
dev-lang/rust-bin:         1.89.0::gentoo
llvm-core/clang:           20.1.8::gentoo
llvm-core/llvm:            20.1.8::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.62.6::gentoo
sys-apps/sandbox:          2.46::gentoo
sys-devel/binutils:        2.45::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             15.2.0::gentoo
sys-devel/gcc-config:      2.12.1::gentoo
sys-kernel/linux-headers:  6.16::gentoo (virtual/os-headers)
sys-libs/glibc:            2.42::gentoo
Repositories:

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

xlibre
    location: /var/db/repos/xlibre
    sync-type: git
    sync-uri: https://github.com/X11Libre/ports-gentoo.git
    masters: gentoo
    volatile: False

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
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 /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/tmp/portage/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="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks export-pms-vars 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="rsync://ftp.agdsn.de/gentoo"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j6"
PKGDIR="/tmp/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="/tmp"
SHELL="/bin/bash"
USE="X acl alsa amd64 bzip2 cairo cet crypt cups dbus egl elogind gdbm gnome-keyring gtk iconv ipv6 libtirpc multilib ncurses nls opengl openmp openvpn pam pcre policykit readline seccomp split-usr ssl test-rust threads truetype udev unicode vaapi wifi x264 x265 xattr xinerama xorg zlib" ABI_X86="64" ADA_TARGET="gcc_14" 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 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="X86" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-3" POSTGRES_TARGETS="postgres17" PYTHON_SINGLE_TARGET="python3_13" PYTHON_TARGETS="python3_13" RUBY_TARGETS="ruby32 ruby33" SANE_BACKENDS="hp" VIDEO_CARDS="intel" 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, LINGUAS, 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
Top
logrusx
Advocate
Advocate
User avatar
Posts: 3530
Joined: Thu Feb 22, 2018 2:29 pm

  • Quote

Post by logrusx » Wed Aug 27, 2025 9:15 am

If there's a particular reason you want to keep slot 20, then you can add --exclude "<a list of space separated atoms>" to your emerge command or use package.mask to mask them.

If there isn't, then after you update, run emerge --depclean --ask will clean the older version. Inspect the list of packages selected for cleaning before proceeding. If there are packages you want to keep, then run emerge --noreplace for them.

Best Regards,
Georgi
Top
saski4711
Apprentice
Apprentice
Posts: 214
Joined: Thu Jun 24, 2004 8:23 am

  • Quote

Post by saski4711 » Wed Aug 27, 2025 10:34 am

logrusx wrote:If there's a particular reason you want to keep slot 20, then you can add --exclude "<a list of space separated atoms>" to your emerge command or use package.mask to mask them.

If there isn't, then after you update, run emerge --depclean --ask will clean the older version. Inspect the list of packages selected for cleaning before proceeding. If there are packages you want to keep, then run emerge --noreplace for them.

Best Regards,
Georgi

The problem ist that dev-util/mesa_clc-25.1.8:0 still needs LLVM_SLOT=20 so I'll end up with two LLVM versions on my system and except for dev-util/mesa_clc I don't use LLVM and I do not want to maintain two versions.

Code: Select all

llvm-core/libclc:0

  (llvm-core/libclc-21.1.0:0/0::gentoo, ebuild scheduled for merge) USE="spirv -verify-sig" ABI_X86="(64)" LLVM_SLOT="21" VIDEO_CARDS="-nvidia -r600 -radeonsi" conflicts with
    =llvm-core/libclc-20* required by (dev-util/mesa_clc-25.1.8:0/0::gentoo, installed) USE="-debug" ABI_X86="(64)" LLVM_SLOT="20 -18 -19" VIDEO_CARDS="-asahi -panfrost"

Do I need to supply all atoms to --exclude and/or package.mask or do I have to specify every single llvm/clang package?
Top
logrusx
Advocate
Advocate
User avatar
Posts: 3530
Joined: Thu Feb 22, 2018 2:29 pm

  • Quote

Post by logrusx » Wed Aug 27, 2025 10:54 am

saski4711 wrote: Do I need to supply all atoms to --exclude and/or package.mask or do I have to specify every single llvm/clang package?
I don't understand the question.

Here's what man emerge says about --exclude:

Code: Select all

       --exclude, -X ATOMS
              A  space  separated list of package names or slot atoms.  Emerge won’t install any ebuild or binary package that matches any of
              the given package atoms.
And here's what the wiki says about package.mask:

https://wiki.gentoo.org/wiki//etc/portage/package.mask

Package.mask is a more permanent solution which hides the risk to forget you put it there.

I don't see a bug for mesa_clc but I believe it should be moved to llvm 21 too. The bug for llvm 21 stabilization does not include references to any other packages outside of the llvm group. Maybe file a bug about it? Or go on IRC and ask about it, that would be the fastest.

BTW I don't see why portage would want to update a slot for something that's not explicitly required.

Best Regards,
Georgi
Top
logrusx
Advocate
Advocate
User avatar
Posts: 3530
Joined: Thu Feb 22, 2018 2:29 pm

  • Quote

Post by logrusx » Wed Aug 27, 2025 11:04 am

OK, I asked on IRC on your behalf and here's what Sam said:
it's likely they have something installed which doesn't use llvm-r1 (or is it -r2) yet but it's hard to say without details
Also another comment:
or stuff in world
They also ask for

Code: Select all

wgetpaste -s 0x0 -i -c 'emerge YOUR_OPTIONS_HERE'
Maybe it'll be best if you show up on IRC.

Best Regards,
Georgi
Top
Josef.95
Advocate
Advocate
Posts: 4857
Joined: Mon Sep 03, 2007 9:46 am
Location: Germany

  • Quote

Post by Josef.95 » Wed Aug 27, 2025 11:39 am

This snipped works for me:

Code: Select all

### llvm / clang ###
llvm-core/llvm-common -~amd64
llvm-core/clang-common -~amd64
llvm-runtimes/openmp -~amd64
llvm-core/llvm:21 -~amd64
llvm-core/llvmgold -~amd64
llvm-core/llvm-toolchain-symlinks:21 -~amd64
llvm-core/clang:21 -~amd64
llvm-core/clang-toolchain-symlinks:21 -~amd64
llvm-runtimes/compiler-rt:21 -~amd64
llvm-runtimes/compiler-rt-sanitizers:21 -~amd64
llvm-core/clang-runtime:21 -~amd64
llvm-core/lld:21 -~amd64
llvm-core/libclc -~amd64

dev-util/spirv-llvm-translator:21 -~amd64
Top
saski4711
Apprentice
Apprentice
Posts: 214
Joined: Thu Jun 24, 2004 8:23 am

  • Quote

Post by saski4711 » Wed Aug 27, 2025 11:55 am

Thanks for the help guys but in the meantime I found a solution (actually the same solution Josef.95 posted) by using
package.accept_keywords correctly :lol:.

Due to time constraints I'll leave it at that. I hope I won't forget masking LLVM 21 but I guess during some update of mesa_clc emerge will remind me of the missing dependancy. 8)

Again thanks for the help. :D
Top
logrusx
Advocate
Advocate
User avatar
Posts: 3530
Joined: Thu Feb 22, 2018 2:29 pm

  • Quote

Post by logrusx » Wed Aug 27, 2025 12:25 pm

saski4711 wrote: Due to time constraints I'll leave it at that.
Were you so time constrained that you couldn't at least provide the information you were asked for?
saski4711 wrote:I hope I won't forget masking LLVM 21 but I guess during some update of mesa_clc emerge will remind me of the missing dependancy.
Don't worry, the underlying real issue is coming for you at an unknown point in the future.

Best Regards,
Georgi
Top
Post Reply

8 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic