Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

post-kits update profile problems


digifuzzy

Question

I am having troubles with epro and profiles post-update to kits.

Every time I execute epro I get back the python error message:

Traceback (most recent call last):
  File "/usr/bin/epro", line 86, in <module>
    run_ego_module(install_path, action, ego_config, args)
  File "/usr/share/ego/python/ego_helpers.py", line 28, in run_ego_module
    mod = get_ego_module(install_path, modname)
  File "/usr/share/ego/python/ego_helpers.py", line 23, in get_ego_module
    return loader.load_module()
  File "<frozen importlib._bootstrap_external>", line 396, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 817, in load_module
  File "<frozen importlib._bootstrap_external>", line 676, in load_module
  File "<frozen importlib._bootstrap>", line 268, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/share/ego/modules/profile.ego", line 8, in <module>
    import portage
ImportError: No module named 'portage'

I suspect I missed something along the way prior to kits.

Suggestions? Help?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

this is due to the portage and ego both are built for different python versions.

show output of eselect python list

I was starting to dig into that notion. Python emerging was giving me strange messages about python 3.5.3 being masked but package.mask is a zero byte sized file.

eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.5
  [2]   python3.4 (fallback)
  [3]   python2.7 (fallback)

I am currently working through the "Broken python and portage" section of  http://www.funtoo.org/System_resurrection.

I can work with a temporary copy of python 3.6 but emerge of portage(ver 2.3.8) complains about:

 * Messages for package sys-apps/portage-2.3.8:

 * ERROR: sys-apps/portage-2.3.8::core-kit failed (prerm phase):
 *   distutils-r1.eclass could not be found by inherit()

and updating to python 3.6.1-r1 stops at:

if test "xno" != "xno"  ; then \
	case no in \
		upgrade) ensurepip="--altinstall --upgrade" ;; \
		install|*) ensurepip="--altinstall" ;; \
	esac; \
	LD_LIBRARY_PATH=/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1:/tmp/Python-3.6.0 ./python -E -m ensurepip \
		$ensurepip --root=/var/tmp/portage/dev-lang/python-3.6.1-r1/image// ; \
fi
 * PT_PAX marking -m /var/tmp/portage/dev-lang/python-3.6.1-r1/image/usr/bin/python3.6m with scanelf
 * XATTR_PAX marking -me /var/tmp/portage/dev-lang/python-3.6.1-r1/image/usr/bin/python3.6m with setfattr
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1/Lib/distutils/sysconfig.py", line 14, in <module>
    import re
  File "/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1/Lib/re.py", line 122, in <module>
    import enum
  File "/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1/Lib/enum.py", line 2, in <module>
    from types import MappingProxyType, DynamicClassAttribute
  File "/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1/Lib/types.py", line 171, in <module>
    import functools as _functools
  File "/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1/Lib/functools.py", line 23, in <module>
    from weakref import WeakKeyDictionary
  File "/var/tmp/portage/dev-lang/python-3.6.1-r1/work/Python-3.6.1/Lib/weakref.py", line 12, in <module>
    from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'
 * ERROR: dev-lang/python-3.6.1-r1::gentoo failed (install phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  115:  Called src_install
 *   environment, line 4100:  Called python_export 'python3.6' 'EPYTHON' 'PYTHON_SITEDIR' 'PYTHON_SCRIPTDIR'
 *   environment, line 3379:  Called die
 * The specific snippet of code:
 *                   PYTHON_SITEDIR=$("${PYTHON}" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib())') || die;

Link to comment
Share on other sites

  • 0

you can do reinstall but now, it's maybe a good idea is to try using unmasked versions. so, now i guess it's python-3.6 is now the default python?

I suspect I had not maintained profile settings as well as I should. My fault for not paying attention to instructions. Confusion with past usage may have been the contributing cause of current problems.

When I did a "eselect profile show" I got the error message about profile settings not being found. When python/portage are completed, I'll try the epro command again to setup profile properly.

 

I cleaned out everything under /var/db/pkg and am in the process of reinstalling software using the method shown in the link I gave above for "Broken python and portage". There were a couple of circular dependencies to deal with (xz-utils/elt-patches, autoconfig, etc) and an error with libffi existing(rm existing /usr/lib64/libffi* files). Re-install appears to be going along well and the use flags given as to be used appear to be "sane".

 

Fingers crossed...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...