Assigned
Status Update
Comments
bl...@google.com <bl...@google.com> #2
Much like
Bugjuggler:
bl...@google.com <bl...@google.com> #3
Hi. I've received your bug and will wait for b/368393962 to be resolved, and then wait 2 days and then assign the bug to gbiv.
Description
abargher@ noticed that
get_libdir
always returnedlib
instead of the necessarylib64
even when installing to anamd64
device. After thorough debugging, we found out thatsetup_cross_toolchain
unsets theABI
global, and never resets it.Specifically, in 2017, we added a CL to unset ABI: crrev/c/509148 for cross-compiled toolchain packages.
In the past, with EAPI=5 and earlier, this worked fine because , and multilib defined its own which used
setup_cross_toolchain
setDEFAULT_ABI
through themultilib.eclass
'smultilib_env
get_libdir
DEFAULT_ABI
.However, with EAPI=6 and later, our Portage itself defines its own in phase-helpers.sh, and this implementation does NOT care about
get_libdir
DEFAULT_ABI
: it only usesABI
. When the givenABI
is unset,get_libdir
silently defaults tolib
incorrectly.Because
setup_cross_toolchain
undef'sABI
, this has been broken since our move to EAPI=6 and later.I spoke to manojgupta@ about the original intent, and we agreed this is probably a real bug.
We use get_libdir in a few toolchain packages. Re-evaluate their usage, and maybe update
setup_cross_toolchains
to ensure it's no longer doing the wrong thing.