Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 389191

Summary: Package not supporting Python3.1: Active version of CPython 3 is not supported [...]
Product: Gentoo Linux Reporter: trogdog
Component: Current packagesAssignee: Python Gentoo Team <python>
Status: RESOLVED WORKSFORME    
Severity: normal CC: fabio.coatti, mgorny, usefuljunk
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description trogdog 2011-11-01 13:25:55 UTC
app-portage/eclean-kernel-0.1.2 failed (setup phase): 
 *   Active version of CPython 3 is not supported by app-portage/eclean-kernel-0.1.2

steps to reproduce: emerge eclean-kernel
reproducibility: everytime

emerge -pqv =app-portage/eclean-kernel-0.1.2 
[ebuild  N    ] app-portage/eclean-kernel-0.1.2

emerge --info =app-portage/eclean-kernel-0.1.2 
Portage 2.1.10.11 (default/linux/amd64/10.0/desktop/gnome, gcc-4.5.3, glibc-2.12.2-r0, 3.0.6-gentoo x86_64) 
================================================================= 
                        System Settings 
================================================================= 
System uname: Linux-3.0.6-gentoo-x86_64-AMD_Phenom-tm-_II_X4_840_Processor-with-gentoo-2.0.3 
Timestamp of tree: Mon, 31 Oct 2011 21:00:01 +0000 
app-shells/bash:          4.1_p9 
dev-lang/python:          2.7.2-r3, 3.1.4-r3 
dev-util/cmake:           2.8.4-r1 
dev-util/pkgconfig:       0.26 
sys-apps/baselayout:      2.0.3 
sys-apps/openrc:          0.8.3-r1 
sys-apps/sandbox:         2.4 
sys-devel/autoconf:       2.13, 2.68 
sys-devel/automake:       1.10.3, 1.11.1 
sys-devel/binutils:       2.21.1-r1 
sys-devel/gcc:            4.5.3-r1 
sys-devel/gcc-config:     1.4.1-r1 
sys-devel/libtool:        2.4-r1 
sys-devel/make:           3.82-r1 
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) 
sys-libs/glibc:           2.12.2 
Repositories: gentoo betagarden nbigaouette 
ACCEPT_KEYWORDS="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="/usr/portage/distfiles" 
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" 
FFLAGS="" 
GENTOO_MIRRORS="http://ftp.swin.edu.au/gentoo http://gentoo.channelx.biz/ http://gentoo.aditsu.net:8000/ http://gentoo.llarian.net/ http://gentoo.gossamerhost.com http://gentoo.osuosl.org/ http://mirror.iawnet.sandia.gov/gentoo/ http://ftp.daum.net/gentoo/ http://gentoo.wetzlmayr.com/ http://chi-10g-1-mirror.fastsoft.net/pub/linux/gentoo/gentoo-distfiles/" 
LANG="en_AU.UTF-8" 
LDFLAGS="-Wl,-O1 -Wl,--as-needed" 
PKGDIR="/usr/portage/packages" 
PORTAGE_CONFIGROOT="/" 
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/var/lib/layman/betagarden /var/lib/layman/nbigaouette" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 avahi bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cli colord consolekit cracklib crypt cups cxx dbus device-mapper dri dts dvd dvdr eds emboss encode evo exif fam firefox flac fortran gdbm gdu gif gnome gnome-keyring gpm gstreamer gtk iconv ipv6 jpeg lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib nano-syntax nautilus ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png policykit ppds pppd qt3support readline samba sdl session spell sse sse2 sse3 ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fglrx" 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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

cat /var/tmp/portage/app-portage/eclean-kernel-0.1.2/temp/build.log 
 * Package:    app-portage/eclean-kernel-0.1.2 
 * Repository: gentoo 
 * Maintainer: mgorny@gentoo.org 
 * Upstream:   mgorny@gentoo.org http://bugs.gentoo.org/enter_bug.cgi?product=Gentoo%20Linux&component=Applications&short_desc=app-portage/eclean-kernel:%20 
 * USE:        amd64 elibc_glibc kernel_linux multilib userland_GNU 
 * FEATURES:   sandbox 
 * ERROR: app-portage/eclean-kernel-0.1.2 failed (setup phase): 
 *   Active version of CPython 3 is not supported by app-portage/eclean-kernel-0.1.2 
 * 
 * Call stack: 
 *       ebuild.sh, line   56:  Called pkg_setup 
 *       ebuild.sh, line 1450:  Called python_pkg_setup 
 *   python.eclass, line  418:  Called _python_calculate_PYTHON_ABIS 
 *   python.eclass, line  794:  Called die 
 * The specific snippet of code: 
 *                     die "Active version of CPython 3 is not supported by ${CATEGORY}/${PF}" 
 * 
 * If you need support, post the output of 'emerge --info =app-portage/eclean-kernel-0.1.2', 
 * the complete build log and the output of 'emerge -pqv =app-portage/eclean-kernel-0.1.2'. 
 * The complete build log is located at '/var/tmp/portage/app-portage/eclean-kernel-0.1.2/temp/build.log'. 
 * The ebuild environment file is located at '/var/tmp/portage/app-portage/eclean-kernel-0.1.2/temp/die.env'. 
 * S: '/var/tmp/portage/app-portage/eclean-kernel-0.1.2/work/eclean-kernel-0.1.2' 

Also reported in the forums: http://forums.gentoo.org/viewtopic-p-6858934.html
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2011-11-01 16:24:18 UTC
You might want to clean up metadata.xml, mgorny...
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-01 18:20:51 UTC
Python team, what's this? Lemme guess, even if you restrict Python3, it still bites you in the arse.
Comment 3 Arfrever Frehtes Taifersar Arahesis 2011-11-02 02:51:49 UTC
app-portage/eclean-kernel-0.1.2::gentoo restricts 3.1 Python ABI, but not e.g. 3.2. Reporter of this bug has CPython 3.1 set as active version of CPython 3. Reporter of this bug should set CPython 3.2 as active version of CPython 3 or set custom value of USE_PYTHON variable (in /etc/make.conf or /etc/portage/env/app-portage/eclean-kernel).
Comment 4 trogdog 2011-11-02 12:30:34 UTC
(In reply to comment #3)
> app-portage/eclean-kernel-0.1.2::gentoo restricts 3.1 Python ABI, but not e.g.
> 3.2. Reporter of this bug has CPython 3.1 set as active version of CPython 3.
> Reporter of this bug should set CPython 3.2 as active version of CPython 3 or
> set custom value of USE_PYTHON variable (in /etc/make.conf or
> /etc/portage/env/app-portage/eclean-kernel).

I don't really follow what you're saying - how can I set active version of python to 3.2 when I only have 3.1, and I don't understand what you mean by setting a custom value for USE_PYTHON, regardless though, that should be covered by the ebuild, not by me the user, surely if the package depends on a certain version of python portage should warn me and ask me to unmask it. I presume that's what you're saying I have to unmask and emerge python 3.2 for this ebuild to work?
Comment 5 Matt Summers (RETIRED) gentoo-dev 2011-11-02 16:39:23 UTC
trogdog,

First, this ebuild has some issues that need to be fixed before actually using the package. I know mgorny is a very responsive dev, so I would bet a fix will be available in short order.

So what Arfrever is saying is that eclean-kernel works with >=dev-lang/python-3.2, that is the meaning of the message "Active version of CPython 3 is not supported..."

The USE_PYTHON make.conf variable will allow any user to have portage maintain several versions of Python simultaneously. For many users this is not necessary, but for some it is rather nice. An example of its usage is as follows:

USE_PYTHON="2.6 2.7 3.1 3.2"

This will tell portage to build all python packages for all versions listed as long as the package supports it. In your instance, python-3.1 is not supported while python-3.2 is (potentially) supported.

mgorny,

As far as your ebuild I see a couple issues there.
1. SUPPORT_PYTHON_ABIS=1
Besides the fact that this variable needs a quoted value, this would tell portage to build the pkg for only 1 ABI, i.e. either python:2 or python:3 I may be mistaken but it appears from your ebuild to me that you want to support python:2.6 python:2.7 and python:3.2 

So, you probably need something like the following to fix things up.
PYTHON_DEPEND="2:2.6 3:3.2"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="2.[45] 3.1"

This should be reviewed, however I think this will fix you up.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-02 17:46:48 UTC
(In reply to comment #5)
> So, you probably need something like the following to fix things up.
> PYTHON_DEPEND="2:2.6 3:3.2"
> SUPPORT_PYTHON_ABIS="1"
> RESTRICT_PYTHON_ABIS="2.[45] 3.1"

Thanks, I didn't knew PYTHON_DEPEND supports multiple values.

Committed this fix, please try and see what happens then.
Comment 7 trogdog 2011-11-03 13:50:57 UTC
USE_PYTHON="2.7" emerge -v eclean-kernel builds fine
USE_PYTHON="3.2" emerge -v eclean-kernel fails as expected because I don't have python 3.2
USE_PYTHON="2.7 3.1" emerge -v eclean-kernel builds fine with the ebuild selecting to use python 2.7

Looks like I need to add and maintain a USE_PYTHON variable in my make.conf

Is there a way for portage/an ebuild to catch the absence of this variable?

Thank you Michal, Matt and Arfrever
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-11 16:03:06 UTC
*** Bug 390145 has been marked as a duplicate of this bug. ***
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-11 16:03:48 UTC
Ok, we need to find a solution here. Any ideas?
Comment 10 Matt Summers (RETIRED) gentoo-dev 2011-11-11 17:29:20 UTC
Michał, I am fairly certain that I gave you the solution in comment #5, does that not work for you? Find me on IRC and I can assist, #gentoo-python is a good place.
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-11 18:42:47 UTC
(In reply to comment #10)
> Michał, I am fairly certain that I gave you the solution in comment #5, does
> that not work for you? Find me on IRC and I can assist, #gentoo-python is a
> good place.

Considering new bugreports, it doesn't work. You'd have to find someone who actually hits it though.
Comment 12 trogdog 2011-11-12 12:57:03 UTC
thank you for resurecting this bug. I managed to install sucessfully on 2 machines but it has failed on 4 others. I have implemented the USE_PYTHON changes, but it seems that the ebuild has reverted back to

PYTHON_DEPEND='2:2.6 3:3.2'
SUPPORT_PYTHON_ABIS=1
RESTRICT_PYTHON_ABIS='2.4 2.5 3.1'
Comment 13 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-15 16:56:38 UTC
*** Bug 390621 has been marked as a duplicate of this bug. ***
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-15 19:04:56 UTC
To work this bug around, I've added new versions of gentoopm and eclean-kernel with Python3 restricted completely.
Comment 15 trogdog 2011-11-16 11:23:14 UTC
(In reply to comment #14)
> To work this bug around, I've added new versions of gentoopm and eclean-kernel
> with Python3 restricted completely.

The new version builds, but

HP ~ # eclean-kernel -a
Traceback (most recent call last):
  File "/usr/bin/eclean-kernel-2.7", line 26, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib64/python2.7/site-packages/ecleankernel/cli.py", line 70, in main
    kernels = find_kernels()
  File "/usr/lib64/python2.7/site-packages/ecleankernel/kernel.py", line 182, in find_kernels
    % (cat, m, getattr(newk, cat)))
SystemError: Colliding modules files: /lib/modules/2.6.36-gentoo-r5 and /lib64/modules/2.6.36-gentoo-r5
Comment 16 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-11-16 18:04:11 UTC
(In reply to comment #15)
> The new version builds, but
> 
> HP ~ # eclean-kernel -a
> Traceback (most recent call last):
>   File "/usr/bin/eclean-kernel-2.7", line 26, in <module>
>     sys.exit(main(sys.argv))
>   File "/usr/lib64/python2.7/site-packages/ecleankernel/cli.py", line 70, in
> main
>     kernels = find_kernels()
>   File "/usr/lib64/python2.7/site-packages/ecleankernel/kernel.py", line 182,
> in find_kernels
>     % (cat, m, getattr(newk, cat)))
> SystemError: Colliding modules files: /lib/modules/2.6.36-gentoo-r5 and
> /lib64/modules/2.6.36-gentoo-r5

Seems like missing realpath() somewhere. I'll try to look more deeply into it later today. I've opened bug for ya at:
	https://github.com/mgorny/eclean-kernel/issues/4
Comment 17 Beetle B. 2012-06-30 17:01:04 UTC
*** Bug 424021 has been marked as a duplicate of this bug. ***
Comment 18 David Seifert gentoo-dev 2016-10-13 19:26:13 UTC
Package confirmed to build and work.