Hi! Sorry, I don't know a better title for that. Since dev-libs/beignet got removed by cdb150723eded0c5d2c8fbaaf3246ccb5b6690bc from virtual/opencl, I am now completly stuck for updates. In order to satisfy opencl with 32-bit, dev-libs/beignet was pulled in. Since this dependency is now gone, it falls back to >=media-libs/mesa-9.1.6[opencl,X(+),${MULTILIB_USEDEP}]. Unfortunately, you can't emerged that with intel, since it pulls in dev-libs/libclc, which depends on VIDEO_CARDS="-nvidia -r600 -radeonsi". ╰─➤ emerge -av mesa These are the packages that would be merged, in order: Calculating dependencies... done! !!! The ebuild selected to satisfy "dev-libs/libclc" has unmet requirements. - dev-libs/libclc-0.2.0_pre20191024::gentoo USE="" ABI_X86="(64)" VIDEO_CARDS="-nvidia -r600 -radeonsi" The following REQUIRED_USE flag constraints are unsatisfied: any-of ( video_cards_nvidia video_cards_r600 video_cards_radeonsi ) (dependency required by "media-libs/mesa-20.0.0::gentoo[gallium,opencl]" [ebuild]) (dependency required by "mesa" [argument])
@marecki, please have a look, since you changed that :-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174f5eac4708cb8d7352e74f6490115dd954ca9 commit 4174f5eac4708cb8d7352e74f6490115dd954ca9 Author: Marek Szuba <marecki@gentoo.org> AuthorDate: 2020-02-25 09:03:58 +0000 Commit: Marek Szuba <marecki@gentoo.org> CommitDate: 2020-02-25 09:06:32 +0000 virtual/opencl: pull in dev-libs/beignet again for now The fact that Beignet is the only Intel OpenCL provider supporting the 32-bit x86 ABI causes problems when it is removed from virtual/opencl. Have to think of an exit strategy for once beignet has actually been removed, in the meantime just have virtual/opencl use it again. This reverts commit cdb150723eded0c5d2c8fbaaf3246ccb5b6690bc. Bug: https://bugs.gentoo.org/710724 Signed-off-by: Marek Szuba <marecki@gentoo.org> virtual/opencl/opencl-2.ebuild | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Just use.mask opencl on x86? Can we get away with that?
Like I mentioned on IRC yesterday, this is indeed the way I feel tempted to proceed - we have already done the same with CUDA support and the vast majority of OpenCL providers we currently have no longer support ABI_X86_32 anyway. That said, the problem in this particular scenario is that virtual/opencl continues to use Clover (i.e. media-libs/mesa[opencl]) as the default OpenCL provider in spite of it not only supporting a fairly limited range of GPUs (which in itself would be harmless) but actually breaking things on some of them, as conikonst has observed.
Reverting the ticket at hand to the actual breakage, will handle Beignet separately later.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d3b73032bb7a22457d8cd762f4240305ef66111 commit 4d3b73032bb7a22457d8cd762f4240305ef66111 Author: Marek Szuba <marecki@gentoo.org> AuthorDate: 2020-02-28 11:45:43 +0000 Commit: Marek Szuba <marecki@gentoo.org> CommitDate: 2020-02-28 11:45:43 +0000 virtual/opencl: Only pull in media-libs/mesa on supported GPUs virtual/opencl uses media-libs/mesa[opencl] as driver-independent fallback OpenCL provider. However, media-libs/mesa[opencl] depends on dev-libs/libclc - which at the time of me writing this only supports nvidia, r600 and radeonsi, and whose REQUIRED_USE clause requires at least one of the corresponding VIDEO_CARDS flags to be set. This effectively breaks the OpenCL dependency cycle for a lot of configurations, e.g. for VIDEO_CARDS="nouveau" systems. Only try to use Mesa as an OpenCL provider when VIDEO_CARDS includes a GPU supported by dev-libs/libclc. Note that this means there is now no fallback OpenCL provider for ABI_X86_32. Moreover, for ABI_X86_64 the fallback provider is now dev-util/intel-ocl-sdk, which almost certainly doesn't work on AMD CPUs - which however should be mostly harmless (the package should simply do nothing beyond satisfying virtual/opencl dependencies), especially given many OpenCL-aware applications ignore CPU-type devices anyway. Closes: https://bugs.gentoo.org/710724 Signed-off-by: Marek Szuba <marecki@gentoo.org> virtual/opencl/opencl-2.ebuild | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)