View previous topic :: View next topic |
Author |
Message |
AprilGrimoire n00b
Joined: 05 Jun 2020 Posts: 34
|
Posted: Sun Jun 20, 2021 4:47 pm Post subject: Long time since last upgrade, huge amount of error |
|
|
Hi.
I've got a huge amount of error trying to update my gentoo box, which hasn't been updated for almost a year. What's even worse? I've activated test packages.
I have no clue what to do, since even emerge -1av chromium won't work (It was mentioned in some posts I managed to find without knowing whether it fits my situation).
I'm curious about portage works. When some old package causes a slot conflict, why can't portage uninstall them first and install the up-to-date version later? Also, how can I learn to troubleshoot such messages? Will it require familiar with these packages to troubleshoot? I'm I not supposed to use testing packages?
Thanks
Here's the full log (good lock!) |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30837 Location: here
|
Posted: Sun Jun 20, 2021 5:03 pm Post subject: |
|
|
Code: | >=dev-lang/python-2.7.5-r2:2.7 required by (dev-libs/boost-1.74.0:0/1.74.0::gentoo, installed) USE="bzip2 icu nls python threads zlib -abi_riscv_ilp32 -abi_riscv_ilp32d -abi_riscv_lp64 -abi_riscv_lp64d -context -debug -doc -lzma -mpi -numpy -static-libs -tools -zstd" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python2_7 python3_6 python3_7 python3_8 python3_9"
>=dev-lang/python-2.7.5-r2:2.7 required by (x11-libs/bamf-0.5.4:0/0::gentoo-zh, installed) USE="introspection -doc -static-libs" ABI_X86="(64)" PYTHON_TARGETS="python2_7" |
The x11-libs/bamf package from gentoo-zh require python2_7 target that is no longer supported by portage. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21489
|
Posted: Sun Jun 20, 2021 5:12 pm Post subject: |
|
|
If you use testing, you should update much more often than once a year. Even stable can be hard to update after 6 months or so.
Portage will rarely uninstall something as a solution, because that may not be what you want. You are welcome to explicitly uninstall it, and if that is an acceptable temporary situation, it is often the easiest way to resolve a conflict. |
|
Back to top |
|
|
Ralphred Guru
Joined: 31 Dec 2013 Posts: 470
|
Posted: Sun Jun 20, 2021 8:32 pm Post subject: |
|
|
I regularly do this sort of thing (like once a year ), this is my process for rescue
- Make a backup of /var/lib/portage/world
- Get emerge -ep @system to give a list of packages
- uninstall obvious problem packages
- make portage config changes to cut down on the errors
- As soon as portage gives a list of packages, to create a usable list of =category/package-version run
Code: | emerge -ep system > atomlist
sed -ni 's/^\[ebuild........\] /=/g;s/ .*//g;/^=/p' atomlist | Run Code: | while read atom;do emerge -Nuv1 --nodeps ${atom} && sed -i "s|${atom}||" atomlist && sed -i '/^$/d' atomlist;done < atomlist | Go for lunch
Any problem packages will be left in atomlist when you get back, fix them and move on
Rinse and repeat for @world
Check for missing world packages against your /var/lib/portage/world backup file |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54096 Location: 56N 3W
|
Posted: Sun Jun 20, 2021 8:53 pm Post subject: |
|
|
AprilGrimoire,
Portage is unable to solve the dependency tree for your system. The hard blocks require your input.
Code: | [blocks B ] x11-drivers/nvidia-drivers[-libglvnd(-)] ("x11-drivers/nvidia-drivers[-libglvnd(-)]" is hard blocking x11-base/xorg-server-1.20.8-r1)
[blocks B ] <=dev-lang/python-exec-2.4.6-r1 ("<=dev-lang/python-exec-2.4.6-r1" is blocking dev-lang/python-2.7.18_p11)
[blocks B ] <=x11-base/xorg-server-1.20.10 ("<=x11-base/xorg-server-1.20.10" is blocking gui-libs/display-manager-init-1.0-r3) |
I'll come back to the first one.
Code: | <=x11-base/xorg-server-1.20.10 | The key here is the <=. This tells that portage needs at least than version installed to continue.
x11-drivers/nvidia-drivers is more of a problem. If you remove it, there will be no GUI.
Rebuilding x11-drivers/nvidia-drivers with USE=libglvnd may fix it but it will want other things that probably won't install.
The easiest way to update an old system is to do some of the intermediate steps you missed.
Your system does not look too out of date, so that guide may be a bit heavy handed.
-- edit --
Adding --backtrack=250 to your emerge command may help. It tells portage to try harder to solve the dependency graph. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2702
|
Posted: Sun Jun 20, 2021 9:17 pm Post subject: |
|
|
Backtrack won't help for the nvidia < xorg-server > display-manager-init (known) issue that occur when updating old systems. As you say, manual input is needed.
Mentioned this briefly in the bug but essentially 3 options (without going in to modifying ebuilds anyway):
1. temporarily depclean nvidia-drivers, can re-install after world update is done
2. force xorg-server to update, emerge -1 --nodeps xorg-server (this is bad practice, but I consider okay given the circumstances, I recommend rebuilding it after your world update is done to ensure all deps are used).
3. upgrade in steps (aka dealing with old systems), and if you happen to upgrade the few months before display-manager-init went stable, upgrade will go normally.
For the raw explanation, essentially xorg-server has an outdated [-libglvnd(-)] !!hard blocker that should be [-libglvnd(+)], formerly this wasn't a problem (revbump was used) but when display-manager-init's own !soft blockers came around this created a kind of circular block that prevents the revbump from being used (no one really seen this coming).
Edit: this aside, bamf and pglop are the biggest source of your python issues (may be more), do remove these for now. |
|
Back to top |
|
|
|