Forums

Skip to content

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

[SOLVED] python targets

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
15 posts • Page 1 of 1
Author
Message
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

[SOLVED] python targets

  • Quote

Post by Vieri » Fri Feb 27, 2026 1:38 pm

Hi,

I'm installing a new Gentoo system, and I'm not used to so many python versions available and each package wanting one or another...

Some want python_single_target_python3_12 other want python_single_target_python3_11, etc.

Should I set PYTHON_SINGLE_TARGET and PYTHON_TARGET globally in make.conf, or should I set python_single_target_python3_12 -python_single_target_python3_11 for each package in /etc/portage/package.use?

I'm trying to install suricata and samba (for instance), but portage keeps complaining about python.

This is the content of

Code: Select all

# cat /etc/portage/package.use/custom
www-apache/mod_security geoip json
www-servers/apache -apache2_modules_http2 apache2_modules_ratelimit apache2_modules_reqtimeout apache2_modules_proxy apache2_modules_proxy_connect apache2_modules_proxy_http apache2_modules_proxy_wstunnel apache2_modules_remoteip
net-analyzer/suricata geoip rust python_single_target_python3_12
net-analyzer/tcpdump -samba
dev-db/freetds mssql
dev-db/mysql big-tables cluster
dev-db/postgresql server
dev-java/icedtea-bin -gtk
dev-lang/php embed ftp fpm mysql mysqli mssql pdo postgres gd zip soap xmlreader xmlwriter xmlrpc calendar curl sockets
dev-libs/apr-util mysql postgres openssl
net-nds/openldap sasl ssl
net-vpn/openvpn examples iproute2
www-servers/nginx aio rtmp NGINX_MODULES_HTTP: stub_status mp4 push_stream flv
www-servers/tomcat -gtk -cups
net-fs/samba ads client cluster gnutls winbind python_single_target_python3_12 python_target_python3_12 -python_single_target_python3_11 -python_single_target_python3_13
sys-libs/talloc python_single_target_python3_12 python_target_python3_12 -python_single_target_python3_11 -python_single_target_python3_13 -python_single_target_python3_14
sys-libs/tdb python_single_target_python3_12 python_target_python3_12 -python_single_target_python3_11 -python_single_target_python3_13 -python_single_target_python3_14
sys-libs/tevent python_single_target_python3_12 python_target_python3_12 -python_single_target_python3_11 -python_single_target_python3_13 -python_single_target_python3_14

Trying to emerge samba I get:

Code: Select all

[ebuild  N     ] net-fs/samba-4.22.5-r1  USE="acl ads client cluster json ldap pam python regedit system-mitkrb5 winbind -addc -ceph -cups -debug (-fam) -glusterfs -gpg -iprint -llvm-libunwind -lmdb -profiling-data -quota (-selinux) -snapper -spotlight -syslog (-system-heimdal) -systemd (-test) -unwind -zeroconf" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_12 -python3_11 -python3_13"

!!! The following binary packages have been ignored due to non matching USE:

    =net-fs/samba-4.22.5-r1 -ads -client -cluster -json -ldap -python -winbind
    =net-fs/samba-4.22.5-r1 -ads -client -cluster -json -ldap -python -python_single_target_python3_12 python_single_target_python3_13 -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python -python_single_target_python3_12 python_single_target_python3_13 -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python systemd -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python -python_single_target_python3_12 python_single_target_python3_13 systemd -winbind
    =sys-libs/tdb-1.4.13 -python
    =sys-libs/tdb-1.4.13 -python -python_single_target_python3_12 python_single_target_python3_13
    =sys-libs/tevent-0.16.2 -python
    =sys-libs/tevent-0.16.2 -python -python_single_target_python3_12 python_single_target_python3_13
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_13
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12 -python_targets_python3_13
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12
    =sys-libs/libcap-ng-0.8.5 -python
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12 -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 python_targets_python3_12 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 python_targets_python3_12 -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 python_targets_python3_11 -python_targets_python3_13 -python_targets_python3_14

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by net-fs/samba-4.22.5-r1::gentoo[python_single_target_python3_12,-python_single_target_python3_11,ads,-python_single_target_python3_13,-addc]
# required by net-fs/cifs-utils-7.4::gentoo
>=net-dns/bind-9.18.42 gssapi
# required by dev-python/setuptools-80.9.0-r1::gentoo
# required by dev-python/setuptools-scm-9.2.2::gentoo
>=dev-python/wheel-0.46.2 python_targets_python3_12
# required by dev-python/setuptools-80.9.0-r1::gentoo
# required by dev-python/setuptools-scm-9.2.2::gentoo
>=dev-python/trove-classifiers-2026.1.14.14 python_targets_python3_12
# required by dev-python/jaraco-text-4.0.0::gentoo
# required by dev-python/jaraco-collections-5.2.1::gentoo
# required by dev-python/setuptools-80.9.0-r1::gentoo
# required by dev-python/setuptools-scm-9.2.2::gentoo
>=dev-python/jaraco-context-6.1.0 python_targets_python3_12

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.
I don't want to autounmask-write on this new system if I can avoid it.

What are my options?
Last edited by Vieri on Wed Mar 04, 2026 1:38 pm, edited 4 times in total.
Top
grknight
Retired Dev
Retired Dev
Posts: 2557
Joined: Fri Feb 20, 2015 9:36 pm

  • Quote

Post by grknight » Fri Feb 27, 2026 1:50 pm

net-fs/samba should not need such changes. If you comment out samba related items, besides keeping ads and client, what is the message then?
Top
freke
Veteran
Veteran
Posts: 1136
Joined: Thu Jan 23, 2003 3:17 pm
Location: Somewhere in Denmark
Contact:
Contact freke
Website

  • Quote

Post by freke » Fri Feb 27, 2026 7:40 pm

Unless you really want and know why you want some specific python-version I'd remove any PYTHON_SINGLE_TARGET and PYTHON_TARGET from package.use and make.conf and let your profile handle it (iirc it'd be PYTHON_SINGLE_TARGET="python3_13" PYTHON_TARGETS="python3_13" on a 23.0 profile) - then emerge -uvaDN @world or similar and then try and emerge samba again.
Top
sam_
Developer
Developer
User avatar
Posts: 2814
Joined: Fri Aug 14, 2020 12:33 am

  • Quote

Post by sam_ » Fri Feb 27, 2026 9:47 pm

suricata was stuck on old Python (bug 952576). I've fixed that but it really needs a maintainer.
Top
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

  • Quote

Post by Vieri » Sat Feb 28, 2026 7:17 am

Thanks for fixing Suricata...

So I did emerge --sync and tried again.
Now I didn't have to set the python targets, and I could emerge packages as expected.

Just for the record, here's how I set it up on a fresh Gentoo installation (any suggestions/observations are very welcome):

Code: Select all

# eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/23.0 (stable) *

Code: Select all

# cat /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist USE flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.UTF-8
FEATURES="${FEATURES} getbinpkg binpkg-request-signature parallel-install"
#EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg --jobs 2 --load-average 3.6"
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg"
#MAKEOPTS="-j4"
ACCEPT_LICENSE="*"
PORTAGE_NICENESS=15
MISDN_CARDS="hfcmulti"
APACHE2_MPMS="prefork"
USE="acl ads apache2 cluster json kerberos freetds geoip odbc openrc ldap logrotate jbig python radius samba ssl unicode winbind xattr zlib -X -gtk"

Code: Select all

# cat /etc/portage/package.accept_keywords/custom
net-analyzer/suricata
net-libs/libhtp

Code: Select all

# cat /etc/portage/package.use/custom
www-apache/mod_security geoip json
www-servers/apache -apache2_modules_http2 apache2_modules_ratelimit apache2_modules_reqtimeout apache2_modules_proxy apache2_modules_proxy_connect apache2_modules_proxy_http apache2_modules_proxy_wstunnel apache2_modules_remoteip
net-analyzer/suricata geoip rust
net-analyzer/tcpdump -samba
dev-db/freetds mssql
dev-db/mysql big-tables cluster
dev-db/postgresql server
dev-java/icedtea-bin -gtk
dev-lang/php embed ftp fpm mysql mysqli mssql pdo postgres gd zip soap xmlreader xmlwriter xmlrpc calendar curl sockets
dev-libs/apr-util mysql postgres openssl
net-nds/openldap sasl ssl
net-vpn/openvpn examples iproute2
www-servers/nginx aio rtmp NGINX_MODULES_HTTP: stub_status mp4 push_stream flv
www-servers/tomcat -gtk -cups
net-fs/samba ads client cluster gnutls winbind
So, when I emerge samba (let's ignore suricata for now) I get:

Code: Select all

[ebuild  N     ] net-fs/samba-4.22.5-r1  USE="acl ads client cluster json ldap pam python regedit system-mitkrb5 winbind -addc -ceph -cups -debug (-fam) -glusterfs -gpg -iprint -llvm-libunwind -lmdb -profiling-data -quota (-selinux) -snapper -spotlight -syslog (-system-heimdal) -systemd (-test) -unwind -zeroconf" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_13 -python3_11 -python3_12"

!!! The following binary packages have been ignored due to non matching USE:

    =net-fs/samba-4.22.5-r1 -ads -client -cluster -json -ldap -python python_single_target_python3_12 -python_single_target_python3_13 -winbind
    =net-fs/samba-4.22.5-r1 -ads -client -cluster -json -ldap -python -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python python_single_target_python3_12 -python_single_target_python3_13 systemd -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python systemd -winbind
    =sys-libs/tdb-1.4.13 -python python_single_target_python3_12 -python_single_target_python3_13
    =sys-libs/tdb-1.4.13 -python
    =sys-libs/tevent-0.16.2 -python python_single_target_python3_12 -python_single_target_python3_13
    =sys-libs/tevent-0.16.2 -python
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_13
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12 -python_targets_python3_13
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12
    =sys-libs/libcap-ng-0.8.5 -python
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12 -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python python_targets_python3_12 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 python_targets_python3_12 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 python_targets_python3_12 -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 -python_targets_python3_13 -python_targets_python3_14
    =sys-libs/libcap-ng-0.8.5 -python -python_targets_python3_10 python_targets_python3_11 -python_targets_python3_13 -python_targets_python3_14

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by net-fs/samba-4.22.5-r1::gentoo[-python_single_target_python3_11,python_single_target_python3_13,-addc,-python_single_target_python3_12,ads]
# required by net-fs/cifs-utils-7.4::gentoo
>=net-dns/bind-9.18.42 gssapi

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.
So I added "net-dns/bind gssapi" and I could emerge samba just fine.

Just one last thing so I can fully understand how binary pckage installation works.
The binary package for Samba isn't pulled in and I need to compile it because of which USE flag?
Let's just take sys-libs/tdb as an example since it has less flags. what does the following mean?

Code: Select all

    =sys-libs/tdb-1.4.13 -python python_single_target_python3_12 -python_single_target_python3_13
    =sys-libs/tdb-1.4.13 -python
Does it mean that it was compiled on the official Gentoo BINHOST without the python USE flag and since I set "python" in my global USE in make.conf then it will need to be compiled instead?
Top
grknight
Retired Dev
Retired Dev
Posts: 2557
Joined: Fri Feb 20, 2015 9:36 pm

  • Quote

Post by grknight » Sat Feb 28, 2026 1:40 pm

Vieri wrote:Just one last thing so I can fully understand how binary pckage installation works.
The binary package for Samba isn't pulled in and I need to compile it because of which USE flag?
Let's just take sys-libs/tdb as an example since it has less flags. what does the following mean?

Code: Select all

    =sys-libs/tdb-1.4.13 -python python_single_target_python3_12 -python_single_target_python3_13
    =sys-libs/tdb-1.4.13 -python
Does it mean that it was compiled on the official Gentoo BINHOST without the python USE flag and since I set "python" in my global USE in make.conf then it will need to be compiled instead?
Yes. It has matches for your current python targets as well with the second option, but python itself was off.

Setting python USE globally was removed years ago with the recommendation of enable it when you need it for optional functionality on a specific package.
Top
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

  • Quote

Post by Vieri » Mon Mar 02, 2026 12:04 am

Thanks for letting me know that setting "python" globally is not needed anymore.
I removed it, and set it only for specific packages (eg. samba for ads).

When updating world I've come up with the following:

Code: Select all

#  emerge -avuDN @world

 * IMPORTANT: 26 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies |
Messages for package llvm-runtimes/openmp-23.0.0_pre20260207::gentoo:
 * ERROR: llvm-runtimes/openmp-23.0.0_pre20260207::gentoo failed (depend phase):
 *   Unknown snapshot: 23.0.0_pre20260207
 *
 * Call stack:
 *                          ebuild.sh, line 645:  Called source '/var/db/repos/gentoo/llvm-runtimes/openmp/openmp-23.0.0_pre20260207.ebuild'
 *   openmp-23.0.0_pre20260207.ebuild, line   7:  Called inherit 'flag-o-matic' 'cmake-multilib' 'linux-info' 'llvm.org' 'python-single-r1'
 *                          ebuild.sh, line 317:  Called __qa_source '/var/db/repos/gentoo/eclass/llvm.org.eclass'
 *                          ebuild.sh, line 130:  Called source '/var/db/repos/gentoo/eclass/llvm.org.eclass'
 *                    llvm.org.eclass, line  82:  Called die                                                                  - * The specific snippet of code:
 *                                      die "Unknown snapshot: ${PV}"
 *
 * If you need support, post the output of `emerge --info '=llvm-runtimes/openmp-23.0.0_pre20260207::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=llvm-runtimes/openmp-23.0.0_pre20260207::gentoo'`.

Code: Select all

Portage 3.0.77 (python 3.13.11-final-0, default/linux/amd64/23.0, gcc-15, glibc-2.42-r5, 6.18.12-gentoo-dist x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.18.12-gentoo-dist-x86_64-Intel-R-_Core-TM-_i5-8500_CPU_@_3.00GHz-with-glibc2.42
KiB Mem:     5659596 total,   1428480 free
KiB Swap:    3145724 total,   3145716 free
Timestamp of repository gentoo: Sun, 01 Mar 2026 22:45:00 +0000
Head commit of repository gentoo: 6e50e49584b7d057dab9850853938e15e7e878b4
sh bash 5.3_p9
ld GNU ld (Gentoo 2.45.1 p1) 2.45.1
app-misc/pax-utils:        1.3.10::gentoo
app-shells/bash:           5.3_p9::gentoo
dev-build/autoconf:        2.72-r6::gentoo
dev-build/automake:        1.18.1::gentoo
dev-build/cmake:           4.1.4::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r102::gentoo
dev-build/meson:           1.9.2::gentoo
dev-lang/perl:             5.42.0-r1::gentoo
dev-lang/python:           3.13.11::gentoo, 3.14.2::gentoo
dev-lang/rust-bin:         1.92.0::gentoo
sys-apps/baselayout:       2.18::gentoo
sys-apps/openrc:           0.62.10::gentoo
sys-apps/sandbox:          2.46::gentoo
sys-devel/binutils:        2.45.1::gentoo
sys-devel/binutils-config: 5.6::gentoo
sys-devel/gcc:             15.2.1_p20260214::gentoo
sys-devel/gcc-config:      2.12.2::gentoo
sys-kernel/linux-headers:  6.18::gentoo (virtual/os-headers)
sys-libs/glibc:            2.42-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-verify-metamanifest: yes
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:

Binary Repositories:

gentoo
    location: /var/cache/binhost/gentoo
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64
    verify-signature: True

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS=" --getbinpkg"
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 binpkg-request-signature buildpkg-live compress-index config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch parallel-install 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="https://quantum-mirror.hu/mirrors/pub/gentoo     https://104.21.91.31/     https://gentoo.kurdy.org/     rsync://mirror.planetunix.net/gentoo/     https://mirrors.ircam.fr/pub/gentoo-distfiles/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
PKGDIR="/var/cache/binpkgs"
PORTAGE_COMPRESS="bzip2"
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="acl ads amd64 apache2 bzip2 cet cluster crypt freetds gdbm geoip iconv ipv6 jbig json kerberos ldap libtirpc logrotate multilib ncurses nls odbc openmp openrc pam pcre radius readline samba seccomp ssl test-rust unicode winbind xattr zlib" ABI_X86="64" ADA_TARGET="gcc_15" 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" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oncore skytraq superstar2 tsip tripmate tnt" 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" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" 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, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
The emerge -pqv '=llvm-runtimes/openmp-23.0.0_pre20260207::gentoo' command shows this:

Code: Select all

!!! All ebuilds that could satisfy "=llvm-runtimes/openmp-23.0.0_pre20260207::gentoo" have been masked.
!!! One of the following masked packages is required to complete your request:
- llvm-runtimes/openmp-23.0.0_pre20260207::gentoo (masked by: corruption)
Masked by "corruption". First time I ever see this in Portage.

Any suggestions?
Top
GDH-gentoo
Advocate
Advocate
User avatar
Posts: 2111
Joined: Sat Jul 20, 2019 7:02 pm
Location: South America

  • Quote

Post by GDH-gentoo » Mon Mar 02, 2026 12:46 pm

Vieri wrote:

Code: Select all

Messages for package llvm-runtimes/openmp-23.0.0_pre20260207::gentoo:
 * ERROR: llvm-runtimes/openmp-23.0.0_pre20260207::gentoo failed (depend phase):
 *   Unknown snapshot: 23.0.0_pre20260207
See this. Do emerge --sync again.
Ionen wrote:As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Top
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

  • Quote

Post by Vieri » Tue Mar 03, 2026 8:52 am

Thank you very much! I'll sync again...

However, I'm puzzled why portage keeps reinstalling packages that have already been installed correctly (no changes in make.conf).

For instance, I already emerged samba (my USE flags differ from the ones in Gentoo BINHOST so Samba was built from source).
However, emerging it again (or if I emerge @world) reinstalls the package.

Code: Select all

# emerge -pv samba
[gentoo] Local copy of remote index is within TTL and will be used.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 3.84 s (backtrack: 0/20).

[ebuild   R    ] net-fs/samba-4.22.5-r1:0/2.10.0::gentoo  USE="acl ads client cluster json ldap pam python regedit system-mitkrb5 winbind -addc -ceph -cups -debug (-fam) -glusterfs -gpg -iprint -llvm-libunwind -lmdb -profiling-data -quota (-selinux) -snapper -spotlight -syslog (-system-heimdal) -systemd (-test) -unwind -zeroconf" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_13 -python3_11 -python3_12" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =net-fs/samba-4.22.5-r1 -ads -client -cluster -json -ldap -python python_single_target_python3_12 -python_single_target_python3_13 -winbind
    =net-fs/samba-4.22.5-r1 -ads -client -cluster -json -ldap -python -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python python_single_target_python3_12 -python_single_target_python3_13 systemd -winbind
    =net-fs/samba-4.22.5-r1 -ads -cluster cups -json -ldap -python systemd -winbind

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.

 * IMPORTANT: 27 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

So why is Portage trying to reinstall the same package (same version, same flags)?

I hope I didn't screw up my system configuration when I first set up python targets...
I removed any reference to python and since then here's my make.conf:

Code: Select all

# cat /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist USE flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.UTF-8
FEATURES="${FEATURES} getbinpkg binpkg-request-signature parallel-install"
#EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg --jobs 2 --load-average 3.6"
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg"
#MAKEOPTS="-j4"
ACCEPT_LICENSE="*"
PORTAGE_NICENESS=15

GENTOO_MIRRORS="https://quantum-mirror.hu/mirrors/pub/gentoo \
    https://104.21.91.31/ \
    https://gentoo.kurdy.org/ \
    rsync://mirror.planetunix.net/gentoo/ \
    https://mirrors.ircam.fr/pub/gentoo-distfiles/"
MISDN_CARDS="hfcmulti"
APACHE2_MPMS="prefork"
USE="acl ads apache2 cluster json kerberos freetds geoip odbc openrc ldap logrotate jbig radius samba ssl unicode winbind xattr zlib -X -gtk"
Any ideas?

[EDIT]
Do I need to add --selective to EMERGE_DEFAULT_OPTS in make.conf?
Top
grknight
Retired Dev
Retired Dev
Posts: 2557
Joined: Fri Feb 20, 2015 9:36 pm

  • Quote

Post by grknight » Tue Mar 03, 2026 1:19 pm

Vieri wrote:However, emerging it again reinstalls the package.

Code: Select all

# emerge -pv samba
So why is Portage trying to reinstall the same package (same version, same flags)?
Because you asked it to.
Vieri wrote:(or if I emerge @world)
This is different and portage will usually explain why in its output.
Vieri wrote:[EDIT]
Do I need to add --selective to EMERGE_DEFAULT_OPTS in make.conf?
No, that's a bad idea.

Edit: Please show the full @world emerge command with any issues. It should be like this: emerge -avuDU @world
Top
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

  • Quote

Post by Vieri » Wed Mar 04, 2026 6:34 am

Thanks.

I really don't know what happened, but I can't reproduce the problem anymore. A bit embarrassing...

BTW I used -N instead of -U:

Code: Select all

#  emerge -pavuDN @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 24.99 s (backtrack: 0/20).


Total: 0 packages, Size of downloads: 0 KiB

 * IMPORTANT: 27 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

Code: Select all

#  emerge -pavuDU @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 24.91 s (backtrack: 0/20).


Total: 0 packages, Size of downloads: 0 KiB

 * IMPORTANT: 27 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.
Sorry for the inconvenience.
Thanks again
Top
Banana
Moderator
Moderator
User avatar
Posts: 2379
Joined: Fri May 21, 2004 12:02 pm
Location: Germany
Contact:
Contact Banana
Website

  • Quote

Post by Banana » Wed Mar 04, 2026 6:54 am

Everybody starts somewhere and we are glad a solution was found.

One important thing:

Code: Select all

* IMPORTANT: 27 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.
Please make sure to read those and follow any instructions presented there. Here is how to view them and even an online version: https://www.gentoo.org/support/news-items/
Forum Guidelines

PFL - Portage file list - find which package a file or command belongs to.
My delta-labs.org snippets do expire
Top
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

  • Quote

Post by Vieri » Wed Mar 04, 2026 1:04 pm

Sorry if I reopen this, but while emerge world does not reinstall anything, an explicit emerge package does.

Eg. I already have apache installed. I want to be able to run "emerge www-servers/apache" without any extra options and have portage do nothing if the same package, same version, same flags already exists.

However, if I issue the emerge apache command with my current defaults Portage reinstalls it:

Code: Select all

# emerge -pv www-servers/apache

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 2.72 s (backtrack: 0/20).

[ebuild   R    ] www-servers/apache-2.4.66:2::gentoo  USE="filecaps gdbm ldap ssl suexec-caps -debug -doc (-selinux) -static -suexec -suexec-syslog -systemd -threads" APACHE2_MODULES="actions alias auth_basic authn_anon authn_core authn_dbm authn_file authz_core 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 proxy proxy_connect proxy_http proxy_wstunnel ratelimit remoteip reqtimeout rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias -access_compat -allowmethods -asis -auth_digest -auth_form -authn_dbd -authn_socache -authz_dbd -brotli -cache_disk -cache_socache -cern_meta -charset_lite -dbd -dumpio -http2 -ident -imagemap -lbmethod_bybusyness -lbmethod_byrequests -lbmethod_bytraffic -lbmethod_heartbeat -log_forensic (-lua) -macro -md -proxy_ajp -proxy_balancer -proxy_fcgi -proxy_ftp -proxy_hcheck -proxy_html -proxy_http2 -proxy_scgi -proxy_uwsgi -request -session -session_cookie -session_crypto -session_dbd -slotmem_shm -socache_memcache -substitute -version -watchdog -xml2enc" APACHE2_MPMS="prefork -event -worker" LUA_SINGLE_TARGET="lua5-1 -lua5-3 -lua5-4" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =www-servers/apache-2.4.66 apache2_modules_http2 -apache2_modules_proxy -apache2_modules_proxy_connect -apache2_modules_proxy_http -apache2_modules_proxy_wstunnel -apache2_modules_ratelimit -apache2_modules_remoteip -apache2_modules_reqtimeout -apache2_mpms_prefork -ldap
    =www-servers/apache-2.4.66 apache2_modules_auth_digest apache2_modules_http2 -apache2_modules_proxy -apache2_modules_proxy_connect -apache2_modules_proxy_http -apache2_modules_proxy_wstunnel -apache2_modules_ratelimit -apache2_modules_remoteip -apache2_modules_reqtimeout -apache2_mpms_prefork -ldap systemd
    =www-servers/apache-2.4.66 apache2_modules_http2 -apache2_modules_proxy -apache2_modules_proxy_connect -apache2_modules_proxy_http -apache2_modules_proxy_wstunnel -apache2_modules_ratelimit -apache2_modules_remoteip -apache2_modules_reqtimeout -apache2_mpms_prefork -ldap systemd
So, what's the safest way to change the default behavior?

Should I change EMERGE_DEFAULT_OPTS to:

Code: Select all

EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg -n"
or

Code: Select all

EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg -u"
I think I should stick with -u because I'm not sure -n will update the package if a new version is available or if the flags have changed.

Thanks
Top
freke
Veteran
Veteran
Posts: 1136
Joined: Thu Jan 23, 2003 3:17 pm
Location: Somewhere in Denmark
Contact:
Contact freke
Website

  • Quote

Post by freke » Wed Mar 04, 2026 1:10 pm

Vieri wrote:Sorry if I reopen this, but while emerge world does not reinstall anything, an explicit emerge package does.

Eg. I already have apache installed. I want to be able to run "emerge www-servers/apache" without any extra options and have portage do nothing if the same package, same version, same flags already exists.

However, if I issue the emerge apache command with my current defaults Portage reinstalls it:

Code: Select all

# emerge -pv www-servers/apache

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 2.72 s (backtrack: 0/20).

[ebuild   R    ] www-servers/apache-2.4.66:2::gentoo  USE="filecaps gdbm ldap ssl suexec-caps -debug -doc (-selinux) -static -suexec -suexec-syslog -systemd -threads" APACHE2_MODULES="actions alias auth_basic authn_anon authn_core authn_dbm authn_file authz_core 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 proxy proxy_connect proxy_http proxy_wstunnel ratelimit remoteip reqtimeout rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias -access_compat -allowmethods -asis -auth_digest -auth_form -authn_dbd -authn_socache -authz_dbd -brotli -cache_disk -cache_socache -cern_meta -charset_lite -dbd -dumpio -http2 -ident -imagemap -lbmethod_bybusyness -lbmethod_byrequests -lbmethod_bytraffic -lbmethod_heartbeat -log_forensic (-lua) -macro -md -proxy_ajp -proxy_balancer -proxy_fcgi -proxy_ftp -proxy_hcheck -proxy_html -proxy_http2 -proxy_scgi -proxy_uwsgi -request -session -session_cookie -session_crypto -session_dbd -slotmem_shm -socache_memcache -substitute -version -watchdog -xml2enc" APACHE2_MPMS="prefork -event -worker" LUA_SINGLE_TARGET="lua5-1 -lua5-3 -lua5-4" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =www-servers/apache-2.4.66 apache2_modules_http2 -apache2_modules_proxy -apache2_modules_proxy_connect -apache2_modules_proxy_http -apache2_modules_proxy_wstunnel -apache2_modules_ratelimit -apache2_modules_remoteip -apache2_modules_reqtimeout -apache2_mpms_prefork -ldap
    =www-servers/apache-2.4.66 apache2_modules_auth_digest apache2_modules_http2 -apache2_modules_proxy -apache2_modules_proxy_connect -apache2_modules_proxy_http -apache2_modules_proxy_wstunnel -apache2_modules_ratelimit -apache2_modules_remoteip -apache2_modules_reqtimeout -apache2_mpms_prefork -ldap systemd
    =www-servers/apache-2.4.66 apache2_modules_http2 -apache2_modules_proxy -apache2_modules_proxy_connect -apache2_modules_proxy_http -apache2_modules_proxy_wstunnel -apache2_modules_ratelimit -apache2_modules_remoteip -apache2_modules_reqtimeout -apache2_mpms_prefork -ldap systemd
So, what's the safest way to change the default behavior?

Should I change EMERGE_DEFAULT_OPTS to:

Code: Select all

EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg -n"
or

Code: Select all

EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkg -u"
I think I should stick with -u because I'm not sure -n will update the package if a new version is available or if the flags have changed.

Thanks
If you do an emerge -v (package) - you're telling emerge to (re)install that package.
You can add -u to tell portage to only emerge the package if the're is an upgrade (if the package is not previously installed it will be installed), similarily you can add -U/-N to onle emerge it if if there's changed/new user-flags

Code: Select all

vps ~ # emerge -pv dev-lang/php

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 3.81 s (backtrack: 0/20).

[ebuild   R    ] dev-lang/php-8.5.3-r1:8.5::gentoo  USE="acl apache2 apparmor bcmath bzip2 cgi cli ctype curl exif fileinfo filter flatfile gd gdbm gmp iconv intl ipv6 mysql mysqli nls opcache-jit pcntl pdo phar posix readline session simplexml sockets sodium sqlite ssl sysvipc tokenizer truetype unicode xml xmlreader xmlwriter xslt zip zlib -argon2 -avif -berkdb -calendar -capstone -cdb -debug -embed -enchant -ffi -fpm -ftp -inifile -iodbc -jit -jpeg -ldap -ldap-sasl -libedit -lmdb -mhash -mssql -odbc -phpdbg -png -postgres -qdbm (-selinux) -session-mm -sharedmem -snmp -soap -spell -systemd -test -threads -tidy -tokyocabinet -valgrind -webp -xpm" POSTGRES_TARGETS="-postgres15 -postgres16 -postgres17 -postgres18" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
vps ~ # emerge -pvu dev-lang/php

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 3.25 s (backtrack: 0/20).


Total: 0 packages, Size of downloads: 0 KiB
vps ~ #
I wouldn't add neither -u nor -n to default-opts, then I'd have to remeber why portage behaves non-default ie. if I wanted to do a re-install of a package (ie. if I have changed gcc-version, env-stuff or something elese) and portage tells me there's nothing to emerge because an -u has been added in the config somewhere...
Top
Vieri
l33t
l33t
Posts: 935
Joined: Sun Dec 18, 2005 12:26 pm

  • Quote

Post by Vieri » Wed Mar 04, 2026 1:38 pm

Got it. Thanks
Top
Post Reply

15 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