Summary: | krita doesn't detect xsimd 13 (and fails to build) | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Christophe Marin <christophe> |
Component: | General | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arojas, dimula73 |
Priority: | NOR | Keywords: | release_blocker |
Version: | 5.2.3-beta1 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/graphics/krita/-/commit/b31a0156e223d5d63aee9f077e90138f0000de81 | Version Fixed In: | |
Sentry Crash Report: |
Description
Christophe Marin
2024-06-06 15:26:49 UTC
Git commit 56a6c75fee8e7ac6e51c8479471222fed5a177fa by Dmitry Kazakov. Committed on 07/06/2024 at 11:13. Pushed by dkazakov into branch 'master'. Enable building Krita with XSimd13 M +1 -1 CMakeLists.txt https://invent.kde.org/graphics/krita/-/commit/56a6c75fee8e7ac6e51c8479471222fed5a177fa Git commit b31a0156e223d5d63aee9f077e90138f0000de81 by Dmitry Kazakov. Committed on 07/06/2024 at 11:13. Pushed by dkazakov into branch 'krita/5.2'. Enable building Krita with XSimd13 M +1 -1 CMakeLists.txt https://invent.kde.org/graphics/krita/-/commit/b31a0156e223d5d63aee9f077e90138f0000de81 This doesn't work. xsimd 13 has major breaking changes and krita requires non-trivial porting. Version 13 shouldn't be accepted until krita can actually build with it. (In reply to Antonio Rojas from comment #3) > This doesn't work. xsimd 13 has major breaking changes and krita requires > non-trivial porting. Version 13 shouldn't be accepted until krita can > actually build with it. Yes, still fails: [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp: In static member function ‘static QString KisSupportedArchitectures::bestArchName()‘: [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:39:69: error: ‘struct xsimd::detail::supported_arch‘ has no member named ‘best‘ [ 108s] 39 | const unsigned int best_arch = xsimd::available_architectures().best; [ 108s] | ^~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:55:25: error: ‘version‘ is not a member of ‘xsimd::avx‘ [ 108s] 55 | && (xsimd::avx::version() <= best_arch [ 108s] | ^~~~~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:56:29: error: ‘version‘ is not a member of ‘xsimd::avx2‘ [ 108s] 56 | || xsimd::avx2::version() <= best_arch)) { [ 108s] | ^~~~~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:66:38: error: ‘version‘ is not a member of ‘xsimd::fma3<xsimd::avx2>‘ [ 108s] 66 | && xsimd::fma3<xsimd::avx2>::version() <= best_arch) { [ 108s] | ^~~~~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:68:56: error: ‘version‘ is not a member of ‘xsimd::avx‘ [ 108s] 68 | } else if (!disableAVXOptimizations && xsimd::avx::version() <= best_arch) { [ 108s] | ^~~~~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:70:31: error: ‘version‘ is not a member of ‘xsimd::sse4_1‘ [ 108s] 70 | } else if (xsimd::sse4_1::version() <= best_arch) { [ 108s] | ^~~~~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:72:30: error: ‘version‘ is not a member of ‘xsimd::ssse3‘ [ 108s] 72 | } else if (xsimd::ssse3::version() <= best_arch) { [ 108s] | ^~~~~~~ [ 108s] /home/abuild/rpmbuild/BUILD/krita-5.2.40git.20240607T131318~56a6c75fe/libs/multiarch/KisSupportedArchitectures.cpp:74:29: error: ‘version‘ is not a member of ‘xsimd::sse2‘ [ 108s] 74 | } else if (xsimd::sse2::version() <= best_arch) { [ 108s] | ^~~~~~~ Hi, Christophe Marin! Is it possible to add two patches to XSIMD 13 in distributions? Given that they are accepted to xsimd-master? I mean, I have ported Krita's code to xsimd-13, but xsimd-13 has a bug and makes Krita fail to compile (I'm going to post a PR for them). Is it possible to backport this PR to distributions packages? Anyway, the fixes are now in both master and krita/5.2: https://invent.kde.org/graphics/krita/-/commit/c325d25fb561364de0137a6fc66b42b17ed5ca97 Ideally, distributions should include the three patches (with 'xsimd13' prefix) into their builds to enable all the features that Krita uses: https://invent.kde.org/dkazakov/krita-deps-management/-/tree/master/ext_xsimd?ref_type=heads But Krita should also work withouth the patches, which minor limitations though. (In reply to Dmitry Kazakov from comment #5) > Hi, Christophe Marin! > > Is it possible to add two patches to XSIMD 13 in distributions? Given that > they are accepted to xsimd-master? > > I mean, I have ported Krita's code to xsimd-13, but xsimd-13 has a bug and > makes Krita fail to compile (I'm going to post a PR for them). Is it > possible to backport this PR to distributions packages? Sure, send an email to distributions@kde.org when the changes are available in the xsimd repository Okay, the patch was accepted by XSIMD maintainers. I have sent the mail to the distributions mailing list. |