Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 667208 - mail-client/thunderbird-60.0-r3 raises portage error : PYTHON_COMPAT must be an array
Summary: mail-client/thunderbird-60.0-r3 raises portage error : PYTHON_COMPAT must be ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-28 09:05 UTC by Helmut Jarausch
Modified: 2018-09-28 20:53 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (thunderbird.info,23.00 KB, application/x-info)
2018-09-28 09:05 UTC, Helmut Jarausch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Jarausch 2018-09-28 09:05:52 UTC
Created attachment 548100 [details]
emerge --info

mail-client/thunderbird-60.0-r3 does not build with portage-9999

I get
 * Package:    mail-client/thunderbird-60.0-r3
 * Repository: gentoo
 * Maintainer: mozilla@gentoo.org
 * USE:        abi_x86_64 amd64 dbus elibc_glibc kernel_linux l10n_de startup-notification userland_GNU
 * FEATURES:   network-sandbox preserve-libs sandbox splitdebug userpriv usersandbox
 * ERROR: mail-client/thunderbird-60.0-r3::gentoo failed (pretend phase):
 *   PYTHON_COMPAT must be an array.
 * 
 * Call stack:
 *                    ebuild.sh, line 635:  Called source '/usr/portage/mail-client/thunderbird/thunderbird-60.0-r3.ebuild'
 *   thunderbird-60.0-r3.ebuild, line  32:  Called inherit 'check-reqs' 'flag-o-matic' 'toolchain-funcs' 'gnome2-utils' 'llvm' 'mozcoreconf-v6' 'pax-utils' 'xdg-utils' 'autotools' 'mozlinguas-v2'
 *                    ebuild.sh, line 326:  Called __qa_source '/usr/portage/eclass/mozcoreconf-v6.eclass'
 *                    ebuild.sh, line 111:  Called source '/usr/portage/eclass/mozcoreconf-v6.eclass'
 *        mozcoreconf-v6.eclass, line  25:  Called inherit 'multilib' 'toolchain-funcs' 'flag-o-matic' 'python-any-r1' 'versionator'
 *                    ebuild.sh, line 326:  Called __qa_source '/usr/portage/eclass/python-any-r1.eclass'
 *                    ebuild.sh, line 111:  Called source '/usr/portage/eclass/python-any-r1.eclass'
 *         python-any-r1.eclass, line 175:  Called _python_any_set_globals
 *         python-any-r1.eclass, line 153:  Called _python_set_impls
 *       python-utils-r1.eclass, line 124:  Called die
 * The specific snippet of code:
 *   		die 'PYTHON_COMPAT must be an array.'
 * 
 * If you need support, post the output of `emerge --info '=mail-client/thunderbird-60.0-r3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=mail-client/thunderbird-60.0-r3::gentoo'`.
 * The complete build log is located at '/var/tmp/Big_Tmp/portage/mail-client/thunderbird-60.0-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/Big_Tmp/portage/mail-client/thunderbird-60.0-r3/temp/die.env'.
 * Working directory: '/var/tmp/Big_Tmp/portage/mail-client/thunderbird-60.0-r3/homedir'
 * S: '/var/tmp/Big_Tmp/portage/mail-client/thunderbird-60.0-r3/work/thunderbird-60.0'
 * ERROR: mail-client/thunderbird-60.0-r3::gentoo failed:
 *   PYTHON_COMPAT must be an array.
 * 
 * Call stack:
 *            misc-functions.sh, line  17:  Called source '/usr/lib/portage/python3.7/ebuild.sh'
 *                    ebuild.sh, line 635:  Called source '/usr/portage/mail-client/thunderbird/thunderbird-60.0-r3.ebuild'
 *   thunderbird-60.0-r3.ebuild, line  32:  Called inherit 'check-reqs' 'flag-o-matic' 'toolchain-funcs' 'gnome2-utils' 'llvm' 'mozcoreconf-v6' 'pax-utils' 'xdg-utils' 'autotools' 'mozlinguas-v2'
 *                    ebuild.sh, line 326:  Called __qa_source '/usr/portage/eclass/mozcoreconf-v6.eclass'
 *                    ebuild.sh, line 111:  Called source '/usr/portage/eclass/mozcoreconf-v6.eclass'
 *        mozcoreconf-v6.eclass, line  25:  Called inherit 'multilib' 'toolchain-funcs' 'flag-o-matic' 'python-any-r1' 'versionator'
 *                    ebuild.sh, line 326:  Called __qa_source '/usr/portage/eclass/python-any-r1.eclass'
 *                    ebuild.sh, line 111:  Called source '/usr/portage/eclass/python-any-r1.eclass'
 *         python-any-r1.eclass, line 175:  Called _python_any_set_globals
 *         python-any-r1.eclass, line 153:  Called _python_set_impls
 *       python-utils-r1.eclass, line 124:  Called die
 * The specific snippet of code:
 *   		die 'PYTHON_COMPAT must be an array.'
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2018-09-28 12:43:03 UTC
I cannot reproduce at the moment. And thunderbird-60.0-r3 has "inherit mozcoreconf-v6" (https://gitweb.gentoo.org/repo/gentoo.git/tree/mail-client/thunderbird/thunderbird-60.0-r3.ebuild#n32) which will set PYTHON_COMPAT (https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass/mozcoreconf-v6.eclass#n20).

I am wondering if you are overwriting PYTHON_COMPAT somehow...
Comment 2 Helmut Jarausch 2018-09-28 16:08:22 UTC
(In reply to Thomas Deutschmann from comment #1)
> I cannot reproduce at the moment. And thunderbird-60.0-r3 has "inherit
> mozcoreconf-v6"
> (https://gitweb.gentoo.org/repo/gentoo.git/tree/mail-client/thunderbird/
> thunderbird-60.0-r3.ebuild#n32) which will set PYTHON_COMPAT
> (https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass/mozcoreconf-v6.
> eclass#n20).
> 
> I am wondering if you are overwriting PYTHON_COMPAT somehow...

There is no definition as shown by printenv, nor in any file in /etc/portage/env

Only etc/portage/make.conf  contains
PYTHON_COMPAT="python2_7 python3_7"

But that doesn't cause any problems except for thunderbird.
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2018-09-28 20:44:52 UTC
(In reply to Helmut Jarausch from comment #2)
> Only etc/portage/make.conf  contains
> PYTHON_COMPAT="python2_7 python3_7"
> 
> But that doesn't cause any problems except for thunderbird.

...and that's the problem.

You never want to set PYTHON_COMPAT, I guess you want to use PYTHON_TARGETS instead (and if you really want to mess with that stuff, you need to use correct type).

However, it is wrong that the eclass checks for that value and only sets a value if that string isn't set. This will be fixed soon so that we always define (and overwrite) PYTHON_COMPAT on our own in the eclass.
Comment 4 Zac Medico gentoo-dev 2018-09-28 20:49:14 UTC
EAPI 7 has ENV_UNSET, see bug 499288.
Comment 5 Larry the Git Cow gentoo-dev 2018-09-28 20:53:09 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d2ff4b0a281441d76bc08e9cc9d22a016e988a5

commit 9d2ff4b0a281441d76bc08e9cc9d22a016e988a5
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2018-09-28 20:52:20 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2018-09-28 20:52:57 +0000

    mozcoreconf-v6.eclass: always define PYTHON_COMPAT
    
    Closes: https://bugs.gentoo.org/667208
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 eclass/mozcoreconf-v6.eclass | 3 ---
 1 file changed, 3 deletions(-)