sys-devel/DPC++: Update to nightly 2026.06.18#1402
Conversation
|
I also have an updated oneDPL ebuild but since it depends on this, I have decided not to include it in this PR until I get feedback on this PR/this PR gets merged. I also didn't want to touch the package.mask entry of these packages to keep the PR as single issue as possible. |
|
Hi, first of thanks for looking into this! However the verbosity of the PR description is very LLM-suspicious. Just in case you did not know here is gentoo's AI policy https://wiki.gentoo.org/wiki/Project:Council/AI_policy. |
|
@APN-Pucky Sorry about the verbosity, no AI was used in this PR nor on the description. I am just a very verbose person (example). I have been personally using this modified ebuild for a month now and upstream intel/llvm kept changing things that made me run into issues which slowly lead to the accumulation of the changes in this PR. I just wanted to explain basically everything that makes it different from the existing ebuilds to avoid a lengthy back and forth. Last time I contributed to an open source project (funnily enough it was LLVM), I spent like a week in the PR review process over trivial things and just wanted to reduce the friction as much as possible. |
|
Thanks! No problem and being verbose is good. I will review and test it coming week. |
|
Thanks. I tried to fetch it but noticed that your commits do not have a sign-off line (See https://devmanual.gentoo.org/general-concepts/copyright-policy/index.html). You can squash the two commits and add it ( |
$ pkgcheck scan --commits
sys-devel/DPC++
DoubleEmptyLine: version 2026.06.18: ebuild has unneeded empty line on lines: 68, 88
ExcessiveLineLength: version 2026.06.18: excessive line length (over 120 characters) on line: 43
NonexistentDeps: version 2026.06.18: DEPEND: nonexistent package: >=dev-cpp/parallel-hashmap-1.3.12
NonexistentDeps: version 2026.06.18: RDEPEND: nonexistent package: >=dev-cpp/parallel-hashmap-1.3.12::sci does not have parallel-hashmap. it is only in ::guru. adding @Nowa-Ammerlaan : should we duplicate it in ::sci or move it from ::guru to ::gentoo? |
|
Given you need very recent spirv-headers I don't think indirectly depending on the latest 9999 version is correct here. Since this ebuild will not support ~amd64 keywording then as it's dependencies do not. |
Maybe the best would be to have this ebuild be ** keyworded and can be brought to ~amd64 keywording at the next release of the vulkan sdk? Its also a random nightly build so maybe ** keywording is the most appropriate anyways. |
|
Squashed and signed off as requested |
something fails for me. I am running in the supposed network-sandbox so it can not Fetch anything from the network. |
|
Do you not have level-zero installed? It is a requirement. The build system will try to fetch any of the requirements that aren't installed which is annoying. Edit: Wait nvm I see that it requires a newer version of level-zero than the amd64 keyworded one. |
Signed-off-by: Emilio M <emendoz@clemson.edu>
|
Now it should pull in the correct level-zero version |
Co-authored-by: Alexander Puck Neuwirth <APN-Pucky@users.noreply.github.com>
|
It pulled/instealled dev-libs/level-zero-1.30.0 now first, but then similar, but different: |
|
@Emimendoza you can check it yourself by setting (some of) the following features for test installing the ebuild: $ FEATURES="network-sandbox preserve-libs sandbox test userpriv usersandbox" emerge/ebuild sys-devel/DPC++ |
|
I vaguely remember bumping into that same problem before, could be a merged-usr/split-usr thing where it does not find the libraries it is looking for. |
Signed-off-by: Emilio M <emendoz@clemson.edu>
|
Thank you for the update. Somehow this tries to install old EDIT: it is due to dev-libs/intel-compute-runtime -> dev-util/intel-graphics-compiler -> dev-libs/opencl-clang -> ... which have maximum |
|
Yup, didn't realize that this ebuild didn't require the intel-compute-runtime which was independently installed on my system. I suspect that is why it failed to compile on yours earlier. I tested this ebuild on a new system and it managed to install DPC++ but It can't run the full test suite. It looks like there are a lot of LLVM projects that need to be enabled for the "check" command to work. And that some of the tests are non trivial since they require manually 'LD_PRELOAD'ing the address sanitizer library. About clang-17 failing to build. I think I recall running into the same issue when compiling the package with gcc-16 and managed to get it to compile by setting CXX and CC to clang for that package. |
|
I could install clang:17 now and try DPC++ again. However I had to disable clang:17's abi_x86 for it to work on my system, resulting in this error: CMake Warning at /var/tmp/portage/sys-devel/DPC++-2026.06.18/work/llvm-nightly-2026-06-18/llvm/cmake/modules/HandleLLVMOptions.cmake:391 (message):
-fPIC is not supported.
Call Stack (most recent call first):
/var/tmp/portage/sys-devel/DPC++-2026.06.18/work/llvm-nightly-2026-06-18/llvm/cmake/modules/HandleLLVMOptions.cmake:457 (add_flag_or_print_warning)
CMakeLists.txt:204 (include)
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Failed
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Failed
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Failed
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Failed
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Failed
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Failed
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Failed
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Failed
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Failed
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Failed
-- Precompiled headers enabled.
-- Looking for os_signpost_interval_begin
-- Looking for os_signpost_interval_begin - not found
-- Looking for flock
-- Looking for flock - found
-- Found Python3: /var/tmp/portage/sys-devel/DPC++-2026.06.18/temp/python3.14/bin/python3 (found version "3.14.6") found components: Interpreter
-- LLVM host triple: x86_64-unknown-linux-gnu
-- LLVM default target triple: x86_64-unknown-linux-gnu
-- Doxygen disabled.
-- Looking for unwind.h
-- Looking for unwind.h - found
-- Looking for rpc/xdr.h
-- Looking for rpc/xdr.h - not found
-- Performing Test COMPILER_RT_HAS_NO_DEFAULT_CONFIG_FLAG
-- Performing Test COMPILER_RT_HAS_NO_DEFAULT_CONFIG_FLAG - Failed
-- Performing Test CXX_SUPPORTS_UNWINDLIB_NONE_FLAG
-- Performing Test CXX_SUPPORTS_UNWINDLIB_NONE_FLAG - Failed
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - found
-- Performing Test C_SUPPORTS_NODEFAULTLIBS_FLAG
-- Performing Test C_SUPPORTS_NODEFAULTLIBS_FLAG - Failed
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - found
-- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG
-- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG
-- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_STD_C11_FLAG
-- Performing Test COMPILER_RT_HAS_STD_C11_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FCF_PROTECTION_FLAG
-- Performing Test COMPILER_RT_HAS_FCF_PROTECTION_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FPIC_FLAG
-- Performing Test COMPILER_RT_HAS_FPIC_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG
-- Performing Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG
-- Performing Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FRTTI_FLAG
-- Performing Test COMPILER_RT_HAS_FRTTI_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_RTTI_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_RTTI_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC
-- Performing Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC - Failed
-- Performing Test COMPILER_RT_HAS_FNO_LTO_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_LTO_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_COVERAGE_MAPPING_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_COVERAGE_MAPPING_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MCRC32_FLAG
-- Performing Test COMPILER_RT_HAS_MCRC32_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MSSE4_2_FLAG
-- Performing Test COMPILER_RT_HAS_MSSE4_2_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SYSROOT_FLAG
-- Performing Test COMPILER_RT_HAS_SYSROOT_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MCRC_FLAG
-- Performing Test COMPILER_RT_HAS_MCRC_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_TRIVIAL_AUTO_INIT
-- Performing Test COMPILER_RT_HAS_TRIVIAL_AUTO_INIT - Failed
-- Performing Test COMPILER_RT_HAS_NOGPULIB_FLAG
-- Performing Test COMPILER_RT_HAS_NOGPULIB_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FLTO_FLAG
-- Performing Test COMPILER_RT_HAS_FLTO_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_CODE_OBJECT_VERSION_FLAG
-- Performing Test COMPILER_RT_HAS_CODE_OBJECT_VERSION_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_GR_FLAG
-- Performing Test COMPILER_RT_HAS_GR_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_GS_FLAG
-- Performing Test COMPILER_RT_HAS_GS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MT_FLAG
-- Performing Test COMPILER_RT_HAS_MT_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_Oy_FLAG
-- Performing Test COMPILER_RT_HAS_Oy_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG
-- Performing Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_G_FLAG
-- Performing Test COMPILER_RT_HAS_G_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_Zi_FLAG
-- Performing Test COMPILER_RT_HAS_Zi_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WALL_FLAG
-- Performing Test COMPILER_RT_HAS_WALL_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WERROR_FLAG
-- Performing Test COMPILER_RT_HAS_WERROR_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG
-- Performing Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG
-- Performing Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG
-- Performing Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WGNU_FLAG
-- Performing Test COMPILER_RT_HAS_WGNU_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WGNU_ANONYMOUS_STRUCT_FLAG
-- Performing Test COMPILER_RT_HAS_WGNU_ANONYMOUS_STRUCT_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG
-- Performing Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG
-- Performing Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG
-- Performing Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG
-- Performing Test COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WTHREAD_SAFETY_FLAG
-- Performing Test COMPILER_RT_HAS_WTHREAD_SAFETY_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WTHREAD_SAFETY_REFERENCE_FLAG
-- Performing Test COMPILER_RT_HAS_WTHREAD_SAFETY_REFERENCE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WTHREAD_SAFETY_BETA_FLAG
-- Performing Test COMPILER_RT_HAS_WTHREAD_SAFETY_BETA_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WNO_PEDANTIC
-- Performing Test COMPILER_RT_HAS_WNO_PEDANTIC - Failed
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT - Failed
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC - Failed
-- Performing Test COMPILER_RT_HAS_W4_FLAG
-- Performing Test COMPILER_RT_HAS_W4_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WX_FLAG
-- Performing Test COMPILER_RT_HAS_WX_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4146_FLAG
-- Performing Test COMPILER_RT_HAS_WD4146_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4206_FLAG
-- Performing Test COMPILER_RT_HAS_WD4206_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4291_FLAG
-- Performing Test COMPILER_RT_HAS_WD4291_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4221_FLAG
-- Performing Test COMPILER_RT_HAS_WD4221_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4391_FLAG
-- Performing Test COMPILER_RT_HAS_WD4391_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4722_FLAG
-- Performing Test COMPILER_RT_HAS_WD4722_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4800_FLAG
-- Performing Test COMPILER_RT_HAS_WD4800_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_ARRAY_BOUNDS_FLAG
-- Performing Test COMPILER_RT_HAS_ARRAY_BOUNDS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_UNINITIALIZED_FLAG
-- Performing Test COMPILER_RT_HAS_UNINITIALIZED_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SHADOW_FLAG
-- Performing Test COMPILER_RT_HAS_SHADOW_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_EMPTY_BODY_FLAG
-- Performing Test COMPILER_RT_HAS_EMPTY_BODY_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SIZEOF_POINTER_MEMACCESS_FLAG
-- Performing Test COMPILER_RT_HAS_SIZEOF_POINTER_MEMACCESS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SIZEOF_ARRAY_ARGUMENT_FLAG
-- Performing Test COMPILER_RT_HAS_SIZEOF_ARRAY_ARGUMENT_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SUSPICIOUS_MEMACCESS_FLAG
-- Performing Test COMPILER_RT_HAS_SUSPICIOUS_MEMACCESS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_BUILTIN_MEMCPY_CHK_SIZE_FLAG
-- Performing Test COMPILER_RT_HAS_BUILTIN_MEMCPY_CHK_SIZE_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_ARRAY_BOUNDS_POINTER_ARITHMETIC_FLAG
-- Performing Test COMPILER_RT_HAS_ARRAY_BOUNDS_POINTER_ARITHMETIC_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_RETURN_STACK_ADDRESS_FLAG
-- Performing Test COMPILER_RT_HAS_RETURN_STACK_ADDRESS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SIZEOF_ARRAY_DECAY_FLAG
-- Performing Test COMPILER_RT_HAS_SIZEOF_ARRAY_DECAY_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FORMAT_INSUFFICIENT_ARGS_FLAG
-- Performing Test COMPILER_RT_HAS_FORMAT_INSUFFICIENT_ARGS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_BUILTIN_FORMAL_SECURITY_FLAG
-- Performing Test COMPILER_RT_HAS_BUILTIN_FORMAL_SECURITY_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SIZEOF_ARRAY_DIV_FLAG
-- Performing Test COMPILER_RT_HAS_SIZEOF_ARRAY_DIV_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SIZEOF_POINTER_DIV_FLAG
-- Performing Test COMPILER_RT_HAS_SIZEOF_POINTER_DIV_FLAG - Failed
-- Looking for __func__
-- Looking for __func__ - found
-- Performing Test COMPILER_RT_HAS_NOSTDINCXX_FLAG
-- Performing Test COMPILER_RT_HAS_NOSTDINCXX_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_NOSTDLIBXX_FLAG
-- Performing Test COMPILER_RT_HAS_NOSTDLIBXX_FLAG - Failed
-- Looking for include file sys/auxv.h
-- Looking for include file sys/auxv.h - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Looking for pow in m
-- Looking for pow in m - found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for __cxa_throw in c++
-- Looking for __cxa_throw in c++ - not found
-- Looking for __cxa_throw in stdc++
-- Looking for __cxa_throw in stdc++ - found
-- Performing Test COMPILER_RT_HAS_Z_TEXT
-- Performing Test COMPILER_RT_HAS_Z_TEXT - Failed
-- Performing Test COMPILER_RT_HAS_FUSE_LD_LLD_FLAG
-- Performing Test COMPILER_RT_HAS_FUSE_LD_LLD_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_VERSION_SCRIPT
-- Performing Test COMPILER_RT_HAS_VERSION_SCRIPT - Failed
-- Looking for __i386__
-- Looking for __i386__ - found
-- Compiler-RT supported architectures: x86_64;i386
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test COMPILER_RT_TARGET_HAS_ATOMICS
-- Performing Test COMPILER_RT_TARGET_HAS_ATOMICS - Success
-- Performing Test COMPILER_RT_TARGET_HAS_FCNTL_LCK
-- Performing Test COMPILER_RT_TARGET_HAS_FCNTL_LCK - Success
-- Performing Test COMPILER_RT_TARGET_HAS_FLOCK
-- Performing Test COMPILER_RT_TARGET_HAS_FLOCK - Success
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME - Success
-- Performing Test HAS_THREAD_LOCAL
-- Performing Test HAS_THREAD_LOCAL - Success
-- Performing Test COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG
-- Performing Test COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_XRAY_COMPILER_FLAG
-- Performing Test COMPILER_RT_HAS_XRAY_COMPILER_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WNO_C2Y_EXTENSIONS
-- Performing Test COMPILER_RT_HAS_WNO_C2Y_EXTENSIONS - Failed
-- Performing Test COMPILER_RT_HAS_WBUILTIN_DECLARATION_MISMATCH_FLAG
-- Performing Test COMPILER_RT_HAS_WBUILTIN_DECLARATION_MISMATCH_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_ZL_FLAG
-- Performing Test COMPILER_RT_HAS_ZL_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_ATOMIC_KEYWORD
-- Performing Test COMPILER_RT_HAS_ATOMIC_KEYWORD - Failed
-- Performing Test COMPILER_RT_HAS_ASM_LSE
-- Performing Test COMPILER_RT_HAS_ASM_LSE - Failed
-- Performing Test COMPILER_RT_HAS_AARCH64_SME
-- Performing Test COMPILER_RT_HAS_AARCH64_SME - Failed
-- Performing Test COMPILER_RT_HAS_ARM_UNALIGNED
-- Performing Test COMPILER_RT_HAS_ARM_UNALIGNED - Failed
-- Performing Test COMPILER_RT_HAS_ARM_FP
-- Performing Test COMPILER_RT_HAS_ARM_FP - Failed
-- Performing Test COMPILER_RT_HAS_i386_FLOAT16
-- Performing Test COMPILER_RT_HAS_i386_FLOAT16 - Success
-- Performing Test COMPILER_RT_HAS_x86_64_FLOAT16
-- Performing Test COMPILER_RT_HAS_x86_64_FLOAT16 - Success
-- Builtin supported architectures: i386;x86_64
CMake Error at /var/tmp/portage/sys-devel/DPC++-2026.06.18/work/llvm-nightly-2026-06-18/compiler-rt/test/builtins/CMakeLists.txt:147 (file):
file failed to open for reading (No such file or directory):
/var/tmp/portage/sys-devel/DPC++-2026.06.18/work/llvm-nightly-2026-06-18/build/./lib/../lib/clang/23/lib/i386-unknown-linux-gnu/clang_rt.builtins.sources.txt
CMake Error at /var/tmp/portage/sys-devel/DPC++-2026.06.18/work/llvm-nightly-2026-06-18/compiler-rt/test/builtins/CMakeLists.txt:151 (message):
Failed to find source files for i386 builtin libraryI think at some point I'll just merge it given it works for you :) |
Co-authored-by: Alexander Puck Neuwirth <APN-Pucky@users.noreply.github.com>
|
I mean Ideally I would like the ebuild to be reproducible. But having to disable the 32bit abi on clang:17 seems like an issue with that ebuild or gcc being unable to compile it. |
|
This looks wrong |
Rationale of changes when compared to previous ebuilds.
Why nightly and not latest official release (6.3.0*)?
Originally I was trying to port the latest official release but DPC++ is very tightly coupled to level-zero, so it would either involve requiring an old version of level-zero installed, or adding slotted level-zeros, or bundling level-zero. This option seemed the least painful.
*: the proprietary compiler follows the yyyy.mm.dd versioning format but their open source releases follow major.minor.patch format; its weird
Why require such a weird version of spirv-headers which can (currently) only be satisfied by the live version?
This commit bumps the required spirv-header version to one that is newer than the latest tag on the spirv-headers github. Khronos tags spirv-headers based off of releases to the vulkan sdk and that's what gentoo uses for their package versions. So as it currently stands, only the live version of the headers contain the required spirv extensions but the next vulkan sdk release will most probably have them; this way there won't be a need to update this ebuild when the time comes.
What's with dev-cpp/parallel-hashmap requirement?
It is required to build the sycl toolchain, fortunately guru contains a compatible version.
What's with bundled emhash, unified-memory-framework and no longer bundling unified-runtime?
Unified-Runtime got upstreamed to intel/llvm so it is compiled with DPC++ in this ebuild, however, it relies on unified-memory-framework which is not upstreamed into intel/llvm. UMF could probably be unbundled but I havent come accross a project that uses UMF but not UR. Emhash is required to compile DPC++ but no ebuilds exist for it in any overlay (that I could find).
Why did you remove the esimd_emulator USE flag?
The project has been archived by intel a while ago.
What is with the offload UR_* unused cmake arguments?
There is a unified-runtime offload backend which used to build with this ebuild (nightly version 2026-08-07 and before) but upstream changed the installation path of liboffload.so and the offload backend no longer compiles. This isn't an issue unique to this ebuild, they broke their own github CI jobs doing so and have decided to simply disable them instead of addressing the breaking commit. I left most of the ebuild intact so that it should be as simple as adding ";offload" to LLVM_ENABLE_RUNTIMES and setting UR_BUILD_ADAPTER_OFFLOAD to ON and uncommenting the "cmake_build runtimes/install" line in src_compile() once the issue is fixed or someone feels like making a patch reverting the commit.
Why are you compiling the LLVM toolchain as static?
We need to compile llvm as a static library because otherwise libsycl.so crashes at runtime because it dlopen's the intel graphics compiler dynlib which pulls in its own llvm dynlib. If it weren't for that it also might crash because something is pulling in vulkan and mesa's vulkan implementation also pulls in its slotted llvm dynlib. This is the path of least resistance. For context, intel's official binary debian packages statically link the llvm components to intel graphics compiler. We don't do that in the igc ebuild (which is in the main gentoo repo).
What is this DPC++-6.3.0-zstd.patch?
The sycl project ignores the LLVM_USE_STATIC_ZSTD cmake variable and will unconditionally try to link to static zstd, which might not exist. The version comes from me originally porting 6.3.0 (please see first item in this PR for clarification) and I decided to keep the name since it is the latest stable release which requires such patch, this way if future nightly ebuilds are released, they wont all require their own versions of this patch and this makes more sense than to have them all use the same patch but just have a random nightly version as the version name in the patch.