I am trying to upgrade portage from EAPI 7 to EAPI 8 an I am landing in Python dependency Hell. I did this: https://wiki.gentoo.org/wiki/Upgrading_Gentoo/de and this: https://wiki.gentoo.org/wiki/Fix_my_Gentoo I managed to generate all the necessary binary packages according to above gudis. I rebooted into my system and now I do: emerge --nodeps --oneshot --binpkg-changed-deps=n python-exec This results in: >>> Emerging binary (1 of 1) dev-lang/python-exec-2.4.10::gentoo >>> Jobs: 0 of 1 complete, 1 running Load avg: 0.63, 0.51, 0.44================================================================================================ ======== Traceback for invalid call to portage.package.ebuild.config.config.__getitem__ ======== File "/usr/lib/python-exec/python3.7/emerge", line 51, in <module> retval = emerge_main() File "/usr/lib/python3.7/site-packages/_emerge/main.py", line 1317, in emerge_main return run_action(emerge_config) File "/usr/lib/python3.7/site-packages/_emerge/actions.py", line 3376, in run_action retval = action_build(emerge_config, spinner=spinner) File "/usr/lib/python3.7/site-packages/_emerge/actions.py", line 560, in action_build retval = mergetask.merge() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1045, in merge rval = self._merge() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1461, in _merge self._main_loop() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1414, in _main_loop self._schedule() File "/usr/lib/python3.7/site-packages/_emerge/PollScheduler.py", line 152, in _schedule self._schedule_tasks() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1640, in _schedule_tasks if self._schedule_tasks_imp(): File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1783, in _schedule_tasks_imp self._task_queues.jobs.add(task) File "/usr/lib/python3.7/site-packages/_emerge/SequentialTaskQueue.py", line 24, in add self.schedule() File "/usr/lib/python3.7/site-packages/_emerge/SequentialTaskQueue.py", line 46, in schedule task.start() File "/usr/lib/python3.7/site-packages/_emerge/AsynchronousTask.py", line 30, in start self._start() File "/usr/lib/python3.7/site-packages/_emerge/MergeListItem.py", line 98, in _start self._start_task(binpkg, self._default_final_exit) File "/usr/lib/python3.7/site-packages/_emerge/CompositeTask.py", line 113, in _start_task task.start() File "/usr/lib/python3.7/site-packages/_emerge/AsynchronousTask.py", line 30, in start self._start() File "/usr/lib/python3.7/site-packages/_emerge/Binpkg.py", line 59, in _start settings=self.settings, db=self._bintree.dbapi) File "/usr/lib/python3.7/site-packages/portage/package/ebuild/doebuild.py", line 360, in doebuild_environment mysettings["PORTDIR"] = os.path.realpath(mysettings["PORTDIR"]) File "/usr/lib/python3.7/site-packages/portage/package/ebuild/config.py", line 2619, in __getitem__ return self._getitem(key) File "/usr/lib/python3.7/site-packages/portage/package/ebuild/config.py", line 2680, in _getitem raise KeyError(mykey) KeyError: 'PORTDIR' ================================================================================================ Traceback (most recent call last): File "/usr/lib/python-exec/python3.7/emerge", line 51, in <module> retval = emerge_main() File "/usr/lib/python3.7/site-packages/_emerge/main.py", line 1317, in emerge_main return run_action(emerge_config) File "/usr/lib/python3.7/site-packages/_emerge/actions.py", line 3376, in run_action retval = action_build(emerge_config, spinner=spinner) File "/usr/lib/python3.7/site-packages/_emerge/actions.py", line 560, in action_build retval = mergetask.merge() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1045, in merge rval = self._merge() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1461, in _merge self._main_loop() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1414, in _main_loop self._schedule() File "/usr/lib/python3.7/site-packages/_emerge/PollScheduler.py", line 152, in _schedule self._schedule_tasks() File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1640, in _schedule_tasks if self._schedule_tasks_imp(): File "/usr/lib/python3.7/site-packages/_emerge/Scheduler.py", line 1783, in _schedule_tasks_imp self._task_queues.jobs.add(task) File "/usr/lib/python3.7/site-packages/_emerge/SequentialTaskQueue.py", line 24, in add self.schedule() File "/usr/lib/python3.7/site-packages/_emerge/SequentialTaskQueue.py", line 46, in schedule task.start() File "/usr/lib/python3.7/site-packages/_emerge/AsynchronousTask.py", line 30, in start self._start() File "/usr/lib/python3.7/site-packages/_emerge/MergeListItem.py", line 98, in _start self._start_task(binpkg, self._default_final_exit) File "/usr/lib/python3.7/site-packages/_emerge/CompositeTask.py", line 113, in _start_task task.start() File "/usr/lib/python3.7/site-packages/_emerge/AsynchronousTask.py", line 30, in start self._start() File "/usr/lib/python3.7/site-packages/_emerge/Binpkg.py", line 59, in _start settings=self.settings, db=self._bintree.dbapi) File "/usr/lib/python3.7/site-packages/portage/package/ebuild/doebuild.py", line 360, in doebuild_environment mysettings["PORTDIR"] = os.path.realpath(mysettings["PORTDIR"]) File "/usr/lib/python3.7/site-packages/portage/package/ebuild/config.py", line 2619, in __getitem__ return self._getitem(key) File "/usr/lib/python3.7/site-packages/portage/package/ebuild/config.py", line 2680, in _getitem raise KeyError(mykey) KeyError: 'PORTDIR' and this emerge --nodeps --oneshot --binpkg-changed-deps=n portage results in: >>> Source prepared. >>> Configuring source in /var/tmp/portage/sys-apps/portage-3.0.66.1-r1/work/portage-3.0.66.1 ... * pypy3: running my_src_configure meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec. meson setup -Db_lto=false --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /var/tmp/portage/sys-apps/portage-3.0.66.1-r1/temp/pypy3/pkgconfig:/usr/share/pkgconfig --pkg-config-path /var/tmp/portage/sys-apps/portage-3.0.66.1-r1/temp/pypy3/pkgconfig:/usr/share/pkgconfig --native-file /var/tmp/portage/sys-apps/portage-3.0.66.1-r1/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Db_pch=false -Dwerror=false -Dbuildtype=plain -Dcode-only=false -Deprefix= -Dportage-bindir=/usr/lib/portage/pypy3 -Ddocdir=/usr/share/doc/portage-3.0.66.1-r1 -Ddoc=false -Dapidoc=false -Dgentoo-dev=false -Dipc=true -Dxattr=true -Dnative-extensions=false -Drsync-verify=true /var/tmp/portage/sys-apps/portage-3.0.66.1-r1/work/portage-3.0.66.1 /var/tmp/portage/sys-apps/portage-3.0.66.1-r1/work/portage-3.0.66.1-pypy3 meson: no python-exec wrapped executable found in /usr/lib/python-exec. * ERROR: sys-apps/portage-3.0.66.1-r1::gentoo failed (configure phase): There really seems no easy way to upgrade your Gentoo System. ;( Any hints are welcome. Emerge --info: Portage 3.0.14 (python 3.7.17-final-0, !../../var/db/repos/gentoo/profiles/default/linux/amd64/23.0/split-usr/no-multilib, gcc-12.3.0, glibc-2.33-r4, 6.13.0 x86_64) ================================================================= System uname: Linux-6.13.0-x86_64-Intel-R-_Core-TM-_i7_CPU_960_@_3.20GHz-with-gentoo-2.2.1 KiB Mem: 49332940 total, 36849928 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sat, 08 Feb 2025 15:15:00 +0000 Head commit of repository gentoo: c6cb0eba38cbbb7e7def07e5217059a268d60e24 Head commit of repository flatpak-overlay: 4bf9a7815ca9361f86459c8a8e9bc403e3721704 sh bash 5.2.37 ld GNU ld (Funtoo 2.40_p5 patchset: https://dev.gentoo.org/~dilfridge/distfiles/binutils-2.40-patches-5.tar.xz) 2.40.0 dev-lang/python: 2.7.18-r1::python-kit, 3.4.8-r1::python-kit, 3.7.17::python-kit, 3.9.21::python-kit, 3.11.11_p1::gentoo sys-devel/autoconf: 2.72::core-kit sys-devel/automake: 1.15.1-r2::core-kit, 1.16.5::core-kit sys-devel/binutils: 2.40_p5-r1::core-kit, 2.44::gentoo sys-kernel/linux-headers: 4.14::core-kit (virtual/os-headers) Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage sync-rsync-extra-opts: flatpak-overlay location: /home/zeno/zgoverlay/flatpak-overlay sync-type: git sync-uri: https://github.com/fosero/flatpak-overlay.git masters: gentoo priority: 50 Binary Repositories: binhost priority: 9999 sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.3/conf" 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" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS=" --jobs=8 --load-average=8" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cdn config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" GENTOO_MIRRORS="https://direct.funtoo.org" PKGDIR="/var/cache/portage/packages" PORTAGE_TMPDIR="/var/tmp" USE="acl amd64 bzip2 cet crypt gdbm iconv ipv6 libtirpc ncurses nls openmp pam pcre readline seccomp split-usr ssl test-rust unicode xattr zlib" ABI_X86="64" ADA_TARGET="gcc_13" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12 python3_11 python3_9 python_targets_pypy3" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND
That's not a bug. You can try #gentoo or forums.gentoo.org.
You're using Funtoo.
nope, this is Gentoo. But it does not work, it is a true pain to upgrade.
nothing that is mentioned in the Docs works the way it is supposed to.
Then where do those ::python-kit and ::core-kit packages you have installed come from? Those are not part of Gentoo or any overlays.
I also tried this, https://wiki.gentoo.org/wiki/Upgrading_Gentoo/de but it does not work. Portage upgrade almost went through but then failed because you can only upgrade portage with Python 11 that supports "distfiles." I am happy to test more, if you can give me a pointer how to get around the EAPI 7 to EAPI 8 boundaries.
Not only that, but using a 23.0 profile on such an outdated machine sounds odd (the guide is clear you should upgrade first). See also https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage. You can also use /usr/lib/python-exec/python3.*/emerge.
Yes, thank you, I tried this one too. Last time it told me there is no "/usr/bin/env". This time it tells me after doing all the 500 mkdir -p /tmp/portage && cd /tmp/portage 501 wget https://gitweb.gentoo.org/proj/portage.git/snapshot/portage-3.0.52.tar.gz 502 tar xvf portage-3.0.52.tar.gz -C /tmp/portage --strip-components=1 503 export PYTHONPATH="/tmp/portage/lib${PYTHONPATH:+:}${PYTHONPATH}" 504 export PATH="/tmp/portage/bin:${PATH}" 505 bin/emerge --info steps: zenogentoo /tmp/portage # bin/emerge File "bin/emerge", line 61 sys.stderr.write(f"Permission denied: '{str(e)}'\n") ^ SyntaxError: invalid syntax
(In reply to Sam James from comment #7) > also use /usr/lib/python-exec/python3.*/emerge. This one I will bookmark, thank you!
Ok this worked now: emerge --oneshot --nodeps bzip2
but when I do: emerge --update --newuse --deep @world I get: Calculating dependencies... done! !!! The following binary packages have been ignored due to non matching USE: =sys-apps/baselayout-2.17 -split-usr NOTE: The --binpkg-respect-use=n option will prevent emerge from ignoring these binary packages if possible. Using --binpkg-respect-use=y will silence this warning. !!! All ebuilds that could satisfy "app-alternatives/bzip2" have been masked. !!! One of the following masked packages is required to complete your request: - app-alternatives/bzip2-1::gentoo (masked by: EAPI 8) - app-alternatives/bzip2-1 (masked by: EAPI 8) The current version of portage supports EAPI '7'. You must upgrade to a newer version of portage before EAPI masked packages can be installed. (dependency required by "@system" [set]) (dependency required by "@world" [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
Where is this coming from: meson-format-array: no python-exec wrapped executable found in /usr/lib/python-exec This dependency is like a big black whole leading nowhere.
Ok, I set my profile to: eselect profile set 45 why is my EAPI Version in cat /etc/portage/make.profile/eapi showing 5 and not 8?
This is still not a bug. You can still try #gentoo or forums.gentoo.org.
Whatever you call it. It just does not work as advertised in the Docs.
(In reply to Zeno Davatz from comment #15) > It just does not work as advertised in the Docs. You're holding them wrong.
If I misinterpret the Docs please le me know what I am doing wrong. Feels like a Bug to me. I also posted here now. https://forums.gentoo.org/viewtopic-p-8854180.html#8854180
Just because some people came up with wiki pages as a labor of love, does not mean what you are doing is in any way supported. Even with experience, upgrading from such a sorry state will be a major effort. It requires following a strict sequence of steps, dealing with obstacles and working around those, and understanding the nature of those obstacles and implications of those workarounds. And the fact that your emerge --info says profile 23.0 means you've already failed that strategy.
I agree! Looking forward to test a comment that works.
Please consult support for Funtoo.
(In reply to Zeno Davatz from comment #19) > I agree! Looking forward to test a comment that works. It is up to you to comprehend what is already in front of you, not someone else's job to service you.
I missed it being Funtoo. Thank you. It appears that the last successful @world update was at the end of 2016. We have a Funtoo/Gentoo conversion on our hands and a 9 year old system to update. It's going to be a long bumpy ride but it sounds like fun :) I'm only checking in here because of the bug/forums cross posting. I prefer to work on the forums.