Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 615158 - python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
Summary: python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-10 10:02 UTC by Martin Mokrejš
Modified: 2017-04-11 12:27 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2017-04-10 10:02:13 UTC
Hi,
  on some older installation I started to get the following after some updates:

python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3

  It is printed out at several emerge steps, also here with a more useful message:

# python-updater
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
 * '/usr/bin/python2' is not valid symlink
#

# ls -atlr /usr/bin/python*
-rwxr-xr-x 1 root root 13844 Feb  9  2014 /usr/bin/python-exec-c
-rwxr-xr-x 1 root root  1397 Feb  9  2014 /usr/bin/python-exec
-rwxr-xr-x 1 root root 18712 Mar  7 01:30 /usr/bin/python-exec2c
lrwxrwxrwx 1 root root    31 Mar  7 01:31 /usr/bin/python3-config -> ../lib/python-exec/python-exec2
lrwxrwxrwx 1 root root    13 Mar  7 01:31 /usr/bin/python3 -> python-exec2c
lrwxrwxrwx 1 root root    31 Mar  7 01:31 /usr/bin/python2-config -> ../lib/python-exec/python-exec2
lrwxrwxrwx 1 root root    13 Mar  7 01:31 /usr/bin/python2 -> python-exec2c
lrwxrwxrwx 1 root root    31 Mar  7 01:31 /usr/bin/python-config -> ../lib/python-exec/python-exec2
lrwxrwxrwx 1 root root    13 Mar  7 01:31 /usr/bin/python -> python-exec2c
-rwxr-xr-x 1 root root  8512 Mar  7 19:07 /usr/bin/python2.7
-rwxr-xr-x 1 root root  1463 Mar  7 19:07 /usr/bin/python2.7-config
-rwxr-xr-x 1 root root 13008 Apr 10 00:25 /usr/bin/python3.4m
-rwxr-xr-x 1 root root  2860 Apr 10 00:25 /usr/bin/python3.4m-config
lrwxrwxrwx 1 root root    17 Apr 10 00:26 /usr/bin/python3.4-config -> python3.4m-config
lrwxrwxrwx 1 root root    10 Apr 10 00:26 /usr/bin/python3.4 -> python3.4m
#

# emerge --info
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
Portage 2.3.3 (python 2.7.12-final-0, default/linux/amd64/13.0, gcc-4.9.4, glibc-2.23-r3, 3.18.48-default x86_64)
=================================================================
System uname: Linux-3.18.48-default-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9650_@_3.00GHz-with-gentoo-2.2
KiB Mem:    16409600 total,  10925780 free
KiB Swap:   15647296 total,  15586600 free
Timestamp of repository gentoo: Sun, 09 Apr 2017 10:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.3_rc4::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.4_p6-r1::gentoo, 1.5-r1::gentoo, 1.9.6-r3::gentoo, 1.10.3::gentoo, 1.11.6::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.3.5::gentoo, 4.4.7::gentoo, 4.5.4::gentoo, 4.6.3::gentoo, 4.7.4::gentoo, 4.8.5::gentoo, 4.9.3::gentoo, 4.9.4::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 0

haskell
    location: /var/lib/layman/haskell
    masters: gentoo
    priority: 1

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 2

x-layman
    location: /var/lib/layman
    masters: gentoo
    priority: 3

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/easy-rsa /usr/share/maven-bin-3.3/conf /var/bind /var/lib/hsqldb /var/spool/torque"
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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="rsync://ftp.fi.muni.cz/pub/linux/gentoo/ rsync://gentoo.mirror.dkm.cz/gentoo/ ftp://gentoo.mirror.web4u.cz/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
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="X accessibility alsa amd64 amr apache apache2 berkdb bzip2 cairo cgi cli cracklib crypt cups cxx dbus device-mapper dri encode ffmpeg flac fontconfig fortran gd gdbm geoip gnutls hal iconv id3tag innodb java jce jpeg jpg ladspa laptop mad maildir mmx modules mpi mpich2 multilib mysql ncurses nfs nls nptl nptlonly nsplugin ogg opengl openmp openssl pam pcre perl php png policykit postfix procmail python readline seccomp server session sndfile spf sse sse2 ssl suexec svg syslog tcpd threads tiff truetype unicode usb wavpack xattr xml xorg xvfb zlib" ABI_X86="64 32" 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" 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="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 sse4_1 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en cs cz" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="vesa" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
#

# eselect python list
Available Python interpreters, in order of preference:
  [1]   python2.7
  [2]   python3.3
  [3]   python3.4
#
Comment 1 Martin Mokrejš 2017-04-10 17:05:01 UTC
It happened to me on another host just now. Here is the causing package:


>>> Installing (1 of 8) dev-lang/python-exec-2.4.4::gentoo
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). See
 * http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
 * solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 *
 * Detected file collision(s):
 *
 *      /usr/bin/python2
 *      /usr/bin/python3
 *      /usr/bin/python-config
 *      /usr/bin/2to3
 *      /usr/bin/python
 *      /usr/bin/pydoc
 *
 * Searching all installed packages for file collisions...
 *
 * Press Ctrl-C to Stop
 *
 * None of the installed packages claim the file(s).
 *
 * Package 'dev-lang/python-exec-2.4.4' merged despite file collisions.
 * If necessary, refer to your elog messages for the whole content of the
 * above message.
 * You seem to have just upgraded into the new version of python-exec
 * that uses python-exec.conf for configuration. The ebuild has attempted
 * to convert your previous configuration to the new format, resulting
 * in the following preferences (most preferred version first):
 *
 *   python2.7
 *   python3.4
 *
 * Those interpreters will be preferred when running Python scripts or
 * calling wrapped Python executables (python, python2, pydoc...).
 * If none of the preferred interpreters are supported, python-exec will
 * fall back to the newest supported Python version.
 *
 * Please note that due to the ambiguous character of the old settings,
 * you may want to modify the preference list yourself. In order to do so,
 * open the following file in your favorite editor:
 *
 *   /etc/python-exec/python-exec.conf
 *
 * For more information on the new configuration format, please read
 * the comment on top of the installed configuration file.



Yeah, I just dropped the 3.3 from the /etc/python-exec/python-exec.conf file.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-04-11 12:27:25 UTC
(In reply to Martin Mokrejš from comment #0)
> Hi,
>   on some older installation I started to get the following after some
> updates:
> 
> python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3

Which means you've got very old Python enabled in configuration. It's merely a warning.

>   It is printed out at several emerge steps, also here with a more useful
> message:
> 
> # python-updater
> python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
> python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
> python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.3
>  * '/usr/bin/python2' is not valid symlink

This only indicates python-updater is completely broken and useless. You aren't supposed to run it.

By your next comment, I presume you've already figured out how to use the config file.