On 2022.06.10 13:01, Jack wrote:
My usual "emerge -auDvN world" yesterdau failed over a bunch of slot conflict for various dev-qt packages (appeared to be related to :0/30 vs :0/30.30).  However, in process of trying various options to at least get something emerged, I have ended up getting, for most (but not all) invocations of emerge, something like:

Total: 114 packages (61 upgrades, 5 new, 48 reinstalls), Size of downloads: 997,745 KiB
Conflict: 1 block (all satisfied)
Traceback (most recent call last):
 File "/usr/lib/python-exec/python3.9/emerge", line 51, in <module>
   retval = emerge_main()
 File "/usr/lib/python3.9/site-packages/_emerge/main.py", line 1328, in emerge_main
   return run_action(emerge_config)
 File "/usr/lib/python3.9/site-packages/_emerge/actions.py", line 3954, in run_action
   retval = action_build(emerge_config, spinner=spinner)
 File "/usr/lib/python3.9/site-packages/_emerge/actions.py", line 468, in action_build
   mydepgraph.display_problems()
 File "/usr/lib/python3.9/site-packages/_emerge/depgraph.py", line 10485, in display_problems
   self._compute_abi_rebuild_info()
 File "/usr/lib/python3.9/site-packages/_emerge/depgraph.py", line 923, in _compute_abi_rebuild_info
   if dep.parent.installed:
AttributeError: 'SetArg' object has no attribute 'installed'

That one was for a full world update, but I've also gotten it for single packages.  Some single package invocations worked, such as updating portage itself from 3.0.30-r3 (stable) to 3.0.30-r4 (~amd64) but the newer version has the same failures.

I've done a bit of searching, but haven't been able to find anything relevant.  This failure doesn't seem related to any particular conflict, as it appears immediately after what looks like a normal list of packages to be upgraded or reinstalled.

Thanks for any suggestions about which fine manual I should read, or which version of portage might work any better.

Well, I finally managed to get all updates and dependencies emerged. I still have no idea what caused the AttributeError, but I do have an idea what triggered it. gnutls (and one or two others) needed upgrading, and caused lots of rebuilds. I believe the error was triggered by a change in subslots, although I admit I don't fully understand how that works.

As the main example: "eix gnutls" (after upgrade)
[I] net-libs/gnutls
Available versions: 3.7.2(0/30)^t 3.7.3-r1(0/30)^t ~3.7.5(0/30.30)^t 3.7.6(0/30.30)^t {brotli +cxx dane doc examples guile +idn nls +openssl pkcs11 seccomp sslv2 sslv3 static-libs test test-full +tls-heartbeat tools valgrind verify-sig zlib zstd ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 3.7.6(0/30.30)^t(11:02:20 AM 06/12/2022)(cxx idn nls openssl seccomp tls-heartbeat tools zlib -brotli -dane -doc -examples -guile -pkcs11 -sslv2 -sslv3 -static-libs -test -test-full -valgrind -verify-sig -zstd ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="32 64 -x32")
     Homepage:            https://www.gnutls.org/
Description: A secure communications library implementing the SSL, TLS and DTLS protocols

I was uprading from 3.7.3-r1(0/30) to 3.7.6(0/30.30). Some emerge attempts showed lots of slot conflicts between installed programs needing (0/30) and the propsed upgrade to (0/30.30). I don't know why this seemed to confuse portage, but I ended up doing an "emerge -1 --nodeps gnutls" and a later "emerge -auDvN world" got all the required rebuilds.

I suspect the AttributeError is a bug in portage, only triggered by some apparently unlikely combination of pending upgrades and rebuilds due to the subslot change. Since I can no longer reliably trigger it, I don't plan on reporting it, unless someone thinks it's worth the effort.

Jack

Reply via email to