Created attachment 424114 [details] emerge --info '=x11-drivers/nvidia-drivers-352.68::gentoo' If try to install =x11-drivers/nvidia-drivers-352.63 with multilib, it compiles successfully, but fails to install. > ERROR: x11-drivers/nvidia-drivers-352.68::gentoo failed (install phase): > failed to iterate through all ABIs > > Call stack: > ebuild.sh, line 133: Called src_install > environment, line 4371: Called die > The specific snippet of code: > is_final_abi || die "failed to iterate through all ABIs"; One workarround I found, is to comment the line 371 of the file /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-352.68.ebuild
Created attachment 424116 [details] emerge -pqv '=x11-drivers/nvidia-drivers-352.68::gentoo'
Created attachment 424118 [details] environment
This is the patch/workarround I used: diff --git a/usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-352.68.ebuild b/usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-352.68-r1.ebuild index 9d736ec..82daf76 100644 --- a/usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-352.68.ebuild +++ b/usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-352.68-r1.ebuild @@ -368,7 +368,7 @@ src_install() { src_install-libs fi - is_final_abi || die "failed to iterate through all ABIs" + #is_final_abi || die "failed to iterate through all ABIs" readme.gentoo_create_doc }
Where is your build log?
Created attachment 424264 [details] build.log
This appears to come from your profile (emerge --info): ABI_X86="64 32" but then it says at the end: x11-drivers/nvidia-drivers-352.68::gentoo was built with the following: USE="X gtk2 gtk3 multilib tools -acpi -pax_kernel -uvm" ABI_X86="64" I guess multilib.eclass finds the former and assumes two ABIs, and then in the ebuild it's correct in dying since not all ABIs have been handled by the time it checks. Maybe you have something special set in your local package.use?
It looks like the issue here is that the ABI variable is set to "x86_64 x86_32". This is obviously incorrect, as the value of ABI should be a single ABI name like "amd64" and should be the same as your current DEFAULT_ABI (which is "amd64"). Please make sure that you are not setting this variable in make.conf (you want to set ABI_X86, not ABI).
(In reply to Jonathan Callen from comment #7) > It looks like the issue here is that the ABI variable is set to "x86_64 > x86_32". This is obviously incorrect, as the value of ABI should be a > single ABI name like "amd64" and should be the same as your current > DEFAULT_ABI (which is "amd64"). Please make sure that you are not setting > this variable in make.conf (you want to set ABI_X86, not ABI). You are right. That was the problem. I changed ABI="x86_64 x86_32" to ABI_X86="64 32" in my make.conf and then the bug (i.e. my mistake) disappeared.