Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 573266 - =x11-drivers/nvidia-drivers-352.63[multilib] fails to install - is_final_abi || die "failed to iterate through all ABIs"
Summary: =x11-drivers/nvidia-drivers-352.63[multilib] fails to install - is_final_abi ...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-29 03:47 UTC by Gabriel
Modified: 2016-02-01 02:09 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info '=x11-drivers/nvidia-drivers-352.68::gentoo' (nvidia.err0,6.47 KB, text/plain)
2016-01-29 03:47 UTC, Gabriel
Details
emerge -pqv '=x11-drivers/nvidia-drivers-352.68::gentoo' (nvidia.err1,108 bytes, text/plain)
2016-01-29 03:48 UTC, Gabriel
Details
environment (nvidia.env,170.80 KB, text/plain)
2016-01-29 03:49 UTC, Gabriel
Details
build.log (nvidia.log,432.95 KB, text/plain)
2016-01-30 17:34 UTC, Gabriel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gabriel 2016-01-29 03:47:45 UTC
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
Comment 1 Gabriel 2016-01-29 03:48:59 UTC
Created attachment 424116 [details]
emerge -pqv '=x11-drivers/nvidia-drivers-352.68::gentoo'
Comment 2 Gabriel 2016-01-29 03:49:56 UTC
Created attachment 424118 [details]
environment
Comment 3 Gabriel 2016-01-29 03:52:31 UTC
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
 }
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2016-01-29 11:02:02 UTC
Where is your build log?
Comment 5 Gabriel 2016-01-30 17:34:18 UTC
Created attachment 424264 [details]
build.log
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2016-01-31 09:53:04 UTC
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?
Comment 7 Jonathan Callen (RETIRED) gentoo-dev 2016-02-01 01:53:41 UTC
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).
Comment 8 Gabriel 2016-02-01 02:09:40 UTC
(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.