Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
tracking down a mask
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1589

PostPosted: Sun Jan 12, 2020 6:17 am    Post subject: tracking down a mask Reply with quote

I don't understand what is happening here.

The make.conf has:

Code:

PYTHON_TARGETS='python3_7'


The emerge command fails with:

Code:

# emerge -p meson

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

Calculating dependencies -

!!! Problem resolving dependencies for dev-util/meson
... done!

!!! The ebuild selected to satisfy "meson" has unmet requirements.
- dev-util/meson-0.51.2::gentoo USE="-test" PYTHON_TARGETS="-python3_6 (-python3_7)"

  The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( python_targets_python3_6 python_targets_python3_7 )


The ebuild contains:

Code:

PYTHON_COMPAT=( python3_{6,7} )


While the system remains in a huge state of flux, I suppose I can throw my "emerge --info" in here, too:

Code:

Portage 2.3.79 (python 3.6.9-final-0, default/linux/amd64/17.1/no-multilib, gcc-9.2.0, glibc-2.29-r7, 4.5.2-aufs-r1 x86_64)
=================================================================
System uname: Linux-4.5.2-aufs-r1-x86_64-Intel-R-_Core-TM-_i5-3470_CPU_@_3.20GHz-with-gentoo-2.6
KiB Mem:    16313368 total,  10920768 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 11 Jan 2020 07:00:01 +0000
Head commit of repository gentoo: 244d092bd4e212f1625e83a0266e637f789cf03a
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.30.1::gentoo
dev-lang/python:          2.7.17::gentoo, 3.6.9::gentoo, 3.7.5-r1::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.2.0-r2::gentoo
sys-devel/gcc-config:     2.1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r7::gentoo
Repositories:

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

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=ivybridge -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -maes -mpclmul -mpopcnt -mavx -msse4.2 -msse4.1 -mrdrnd -mf16c -mfsgsbase -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=ivybridge -fstack-protector-strong -mfpmath=sse"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=ivybridge -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -maes -mpclmul -mpopcnt -mavx -msse4.2 -msse4.1 -mrdrnd -mf16c -mfsgsbase -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=ivybridge -fstack-protector-strong -mfpmath=sse"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=ivybridge -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -maes -mpclmul -mpopcnt -mavx -msse4.2 -msse4.1 -mrdrnd -mf16c -mfsgsbase -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=ivybridge -fstack-protector-strong -mfpmath=sse"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox protect-owned sandbox sfperms strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=ivybridge -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -maes -mpclmul -mpopcnt -mavx -msse4.2 -msse4.1 -mrdrnd -mf16c -mfsgsbase -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=ivybridge -fstack-protector-strong -mfpmath=sse"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4 --load-average=4"
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"
USE="64bit R X a52 aac aalib accessibility acoustid acpi additions adobe-cff aio alsa amd64 ap arcade arping asf aspell audio audiofile avcodec avformat blksha1 bluray bookmarks bwscheduler bzip2 cacert cairo caps cdda cdio cdr chm chroot cli client clock-panel-plugin cpumining crypt cryptsetup css cups cxx daemon dbus device-mapper dga directfb display-manager djvu downloadorder dri dri3 drm dvbpsi dvd dvdnav dvdr ebook egl eigen encode epub espeak exceptions exif expat extra-filters fam fbcon ffmpeg filecaps flac fluidsynth fontconfig fortran gallium gbm gcj gcrypt gd ggi gif glamor glass glib glibc-omitfp gmp gold gpg gphoto2 gpm gsm gstreamer gtk handbook hardcoded-tables harfbuzz hddtemp hpn iconv icu idea imap infowidget inotify iostats ipc ipfilter ipv6 jabber javafx jbig jit joystick jpeg jsbsim kdcraw kmod lame lcms less libass libinput libkms libmpv libsamplerate libtirpc libwww live lm_sensors logviewer lzma mad matroska mbox mdns-bundled memlimit midi mime minizip mmx mmxext mouse mp3 mp4 mpeg mta nas ncurses net network nls no-old-linux nodrm npm nptl ntfsprogs ntp ocamlopt offlinehelp ofx ogg okular opengl openmedia openmp opus oscar osdmenu p2p pango pcre pcre16 pdf pie pm-utils png portmon postproc ps qml qt3support quotes raptor readline real recursion-limit redland rsync-verify rtc rtmp savedconfig scanfolder scanner scrypt sddm sdl search seccomp secure-delete sensord shared-glapi shm silc smbclient smtp snapshot sndfile sound speex spell split-usr sse sse2 sse2_4way sse2check sse4 ssl ssse3 stats svc svg swscale sysfs system-icu taglib tcmalloc tcpd test theora thin threads threadsafe tiff tinfo tls-heartbeat truetype udev udisks unicode upower urandom usb userlocales utils uvm v4l2 vdpau video vorbis vtv wav wayland webdav-neon webinterface webp widgets x264 x265 xattr xcb xinerama xml xmp xpdf-headers xscreensaver xslt xv xvid zlib zrtp" ABI_X86="64" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="sheets stage words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7" RUBY_TARGETS="ruby25" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="i915" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


I have searched through the profile directory for the source of the apparent mask, and couldn't find anything. Can someone enlighten me regarding how to discover where the block of python3_7 comes from?


Last edited by curmudgeon on Sun Jan 12, 2020 2:18 pm; edited 2 times in total
Back to top
View user's profile Send private message
Ionen
l33t
l33t


Joined: 06 Dec 2018
Posts: 691

PostPosted: Sun Jan 12, 2020 6:31 am    Post subject: Reply with quote

It's in /var/db/repos/gentoo/profiles/arch/amd64/use.stable.mask among other archs.

While the interpreter itself made it in stable, targets are not yet considered stable. If really must, you can force it to work (at your own risks) either by moving to ~unstable or adding this to /etc/portage/profile/use.stable.mask:
Code:
-python_targets_python3_7
-python_single_target_python3_7
A lot of packages with python3.7 support also haven't been stabilized yet, making it hard to move to py3.7-only in stable (~unstable still has a good share of non-3.7 packages too)

On a side-note, you shouldn't set PYTHON_* in make.conf, this can cause issues with single targets (not that it's a problem if you use only 1 version without py2.7, but even then it's improper), use package.use like this instead (or don't set at all if opting for the current defaults of 3.6 single, and 2.7+3.6 multiple)
Back to top
View user's profile Send private message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1589

PostPosted: Sun Jan 12, 2020 10:34 am    Post subject: Reply with quote

Ionen wrote:
It's in /var/db/repos/gentoo/profiles/arch/amd64/use.stable.mask among other archs.


Thanks. I think I might have skipped over that when I saw the 2017 date on it.

Ionen wrote:
On a side-note, you shouldn't set PYTHON_* in make.conf, this can cause issues with single targets (not that it's a problem if you use only 1 version without py2.7, but even then it's improper), use package.use like this instead (or don't set at all if opting for the current defaults of 3.6 single, and 2.7+3.6 multiple)


I think I have missed something here. In make.conf, I have set:

Code:

PYTHON_SINGLE_TARGET='python3_7'
PYTHON_TARGETS='python3_7'


I intend to override those for packages where portage requires other values. Two questions:

1. Do you think I have "set PYTHON_* in make.conf" (and why)?

2. Do you mean if I completely remove those two lines from make.conf I will get the defaults you mention (still having to override plenty of individual packages, of course)?
Back to top
View user's profile Send private message
Ionen
l33t
l33t


Joined: 06 Dec 2018
Posts: 691

PostPosted: Sun Jan 12, 2020 11:11 am    Post subject: Reply with quote

curmudgeon wrote:
1. Do you think I have "set PYTHON_* in make.conf" (and why)?
By * I meant either PYTHON_TARGETS or PYTHON_SINGLE_TARGET. Those variables don't belong in make.conf and can cause problems if there since a recent change in the python eclasses.
Quote:
2. Do you mean if I completely remove those two lines from make.conf I will get the defaults you mention (still having to override plenty of individual packages, of course)?
If removed you get defaults yes, if you don't like the defaults you can do like the wiki link I gave says, for example if you add:
Code:
*/* PYTHON_TARGETS: python3_7
when you look at your emerge --info, you'll have PYTHON_TARGETS="python2_7 python3_6 python3_7" (defaults + 3_7). You can of course remove those you don't want as well, assuming your packages don't need them. Portage will auto-select adequate single targets (notably for 2.7) without you needing to set exceptions.

But unless you have a particular reason to change targets, I'd stick with defaults (especially on a stable system).
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 45383
Location: 56N 3W

PostPosted: Sun Jan 12, 2020 12:22 pm    Post subject: Reply with quote

curmudgeon,

Code:
!!! The ebuild selected to satisfy "meson" has unmet requirements.
- dev-util/meson-0.51.2::gentoo USE="-test" PYTHON_TARGETS="-python3_6 (-python3_7)"

The (USE) brackets means that the setting of USE is forced in your profile.

You profile belongs to
Code:
emerge --sync
so use the files in /etc/portage to override it. Its a two step process.
First, get rid of the force. You can do that system wide or per package.
Once the force has gone, you set the flag in any of the normal ways.

When it breaks, you can keep all the pieces too. :)
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1589

PostPosted: Sun Jan 12, 2020 2:10 pm    Post subject: Reply with quote

Ionen wrote:
Those variables don't belong in make.conf and can cause problems if there since a recent change in the python eclasses.


I understand (that part) now. I don't know how they ended up there (must have come - long ago - from looking through the profiles and figuring out that it "worked"). I can certainly move those to package use.

Ionen wrote:
If removed you get defaults yes, if you don't like the defaults you can do like the wiki link I gave says, for example if you add:
Code:
*/* PYTHON_TARGETS: python3_7
when you look at your emerge --info, you'll have PYTHON_TARGETS="python2_7 python3_6 python3_7" (defaults + 3_7)


I tend to like to have defaults echoed in my configuration just so I can see them, so I will probably put the defaults in package.use.

Ionen wrote:
Portage will auto-select adequate single targets (notably for 2.7) without you needing to set exceptions.


I can always start with the simple and add things when portage complains. :)


NeddySeagoon wrote:
The (USE) brackets means that the setting of USE is forced in your profile.

You profile belongs to
Code:
emerge --sync
so use the files in /etc/portage to override it. Its a two step process.


I saw the result of that, but didn't understand which file set that (and I want to read the accompanying comments which often suggest whether I should override or not). Several files exist (that all get included) which can set USE flags (and USE masks), and sometimes those don't appear obvious.

Thanks to both of you.
Back to top
View user's profile Send private message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1589

PostPosted: Sun Jan 12, 2020 2:18 pm    Post subject: Reply with quote

Ionen wrote:
Those variables don't belong in make.conf and can cause problems if there since a recent change in the python eclasses.


One last question - does that ("Those variables don't belong in make.conf") apply to PHP_TARGETS and RUBY_TARGETS (both of which I have in make.conf), as well?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 45383
Location: 56N 3W

PostPosted: Sun Jan 12, 2020 3:06 pm    Post subject: Reply with quote

curmudgeon,

Code:
/usr/portage/profiles $ grep python3_7 -R arch/*
arch/amd64/use.stable.mask:python_targets_python3_7
arch/amd64/use.stable.mask:python_single_target_python3_7
arch/amd64/package.use.stable.mask:dev-lang/python-exec -python_targets_python3_7 -python_targets_python3_8


python3_7 is in testing amd64 as it only appears in stable.mask files.

Yes, don't set PYTHON_TARGETS, PHP_TARGETS or RUBY_TARGETS yourself, unless your install is badly out of date and you are trying up update.
Then its only a stepping stone.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Ionen
l33t
l33t


Joined: 06 Dec 2018
Posts: 691

PostPosted: Sun Jan 12, 2020 4:31 pm    Post subject: Reply with quote

curmudgeon wrote:
One last question - does that ("Those variables don't belong in make.conf") apply to PHP_TARGETS and RUBY_TARGETS (both of which I have in make.conf), as well?
As far as I'm aware only python variables been causing problems set there, and wiki doesn't particularly make any recommendations for other use_expand variables. But as pointed above, there's generally no reason to set yourself (current defaults are php=7-2, ruby=24+25, it's what you'll see in your emerge --info if unset), defaults will get auto-bumped when it's relevant to be and it's one less thing to worry about.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum