Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 600134 - multilib-build.eclass: Setting MULTILIB_COMPAT prevents use by non-multilib arches
Summary: multilib-build.eclass: Setting MULTILIB_COMPAT prevents use by non-multilib a...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-17 22:14 UTC by James Le Cuirot
Modified: 2021-12-20 06:05 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Le Cuirot gentoo-dev 2016-11-17 22:14:36 UTC
I build icedtea-bin binaries for several arches.

KEYWORDS="-* amd64 ~arm ppc64 x86"

Recently I added multilib support.

MULTILIB_COMPAT=( abi_ppc_64 abi_x86_{32,64} )

I didn't notice till today that this sets REQUIRED_USE in such a way that arm cannot use the ebuild. It isn't present in the _MULTILIB_FLAGS list.

Multilib on this particular package is only useful in corner cases like native 32-bit proprietary code and Steam games. It is therefore behind a flag that is disabled by default. It would work fine on arm if it weren't for the REQUIRED_USE. Perhaps a way to make the REQUIRED_USE conditional on the multilib flag would help.

As just discussed on IRC, arm/arm64 multilib should probably be a thing but I'm not pushing for that. :)
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-03-12 09:29:02 UTC
Hmm, or maybe we could include 'arch?' conditionals in the REQUIRED_USE?
Comment 2 Alexis Ballier gentoo-dev 2017-03-12 09:50:11 UTC
(In reply to Michał Górny from comment #1)
> Hmm, or maybe we could include 'arch?' conditionals in the REQUIRED_USE?

it's probably better to just have flags for every arch

after all, arm no-multilib is just arm with 1 abi :)
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-03-12 10:32:46 UTC
Do you really think it would be beneficial to add flags for all kinds of alpha, riscv, sh, sparc...? That sounds like a lot of noise for a no-go use case.
Comment 4 Alexis Ballier gentoo-dev 2017-03-12 11:07:23 UTC
(In reply to Michał Górny from comment #3)
> Do you really think it would be beneficial to add flags for all kinds of
> alpha, riscv, sh, sparc...? That sounds like a lot of noise for a no-go use
> case.

I always assumed that at least one abi_arch_foo would be enabled, just like profiles set ABI and DEFAULT_ABI and it allows to simplify that kind of handling (e.g. in multilib_get_enabled_abi_pairs).
I'm not talking about all kinds of those arches, but at least one for their DEFAULT_ABI.

The noise is greatly reduced if those are not removed from USE_EXPAND_HIDDEN, like on x86.


One advantage is that you can enable that REQUIRED_USE thing for all multilib-build ebuilds, not just those setting _COMPAT, and it'd be clear something is wrong with a profile when hitting an unsatisfied requse.
Note: Don't rely on repoman for checking it is ok to add this REQUIRED_USE as it doesn't check its satisfiability...